GrapeCity SPREAD for Windows Forms 12.0J サンプルコード集 > セル型 > GcComboBox型セル > アイコンを表示させる |
ドロップダウンリストの各項目にアイコンを表示するには、GcComboBoxCellTypeクラスのShowListBoxImageプロパティをTrueに設定します。また、編集中のセルにアイコンを表示するにはTextBoxStyleプロパティを設定し、編集終了後にもセルにアイコンを表示するには、PaintByControlプロパティをTrueに設定します。
アイコンに使用するイメージは、各項目を表すListItemInfoオブジェクトのImageプロパティに設定します。
private void Form1_Load(object sender, EventArgs e) { GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcComboBox1 = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType() { PaintByControl = true }; // セルのエディタにアイコンとテキストを表示します gcComboBox1.TextBoxStyle = GrapeCity.Win.Spread.InputMan.CellType.TextBoxStyle.Both; // リストのアイコンを表示します gcComboBox1.ShowListBoxImage = true; gcComboBox1.StatusBar.Visible = true; string imagePath = "../../images/"; // リストに列を追加します。 gcComboBox1.ListColumns.Add(new GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo("事業所")); gcComboBox1.ListDefaultColumn.AutoWidth = true; gcComboBox1.DropDown.AutoWidth = true; // リストに要素を追加します GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo name1 = new GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo(); name1.Value = " 本社"; var item1 = new GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo(); item1.SubItems.AddRange(new GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo[] { name1 }); item1.Image = Image.FromFile(imagePath + "japan.gif"); gcComboBox1.Items.Add(item1); GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo name2 = new GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo(); name2.Value = " USオフィス"; var item2 = new GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo(); item2.SubItems.AddRange(new GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo[] { name2 }); item2.Image = Image.FromFile(imagePath + "usa.gif"); gcComboBox1.Items.Add(item2); GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo name3 = new GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo(); name3.Value = " 中国オフィス"; var item3 = new GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo(); item3.SubItems.AddRange(new GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo[] { name3 }); item3.Image = Image.FromFile(imagePath + "china.gif"); gcComboBox1.Items.Add(item3); // GcComboBox型セルを設定します fpSpread1.Sheets[0].Cells[1, 1, 2, 1].CellType = gcComboBox1; }
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim gcComboBox1 As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType() With {.PaintByControl = True} ' セルのエディタにアイコンとテキストを表示します gcComboBox1.TextBoxStyle = GrapeCity.Win.Spread.InputMan.CellType.TextBoxStyle.Both ' リストのアイコンを表示します gcComboBox1.ShowListBoxImage = True gcComboBox1.StatusBar.Visible = True Dim imagePath As String = "../../images/" ' リストに列を追加します。 gcComboBox1.ListColumns.Add(New GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo("事業所")) gcComboBox1.ListDefaultColumn.AutoWidth = True gcComboBox1.DropDown.AutoWidth = True ' リストに要素を追加します Dim name1 As New GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo() name1.Value = " 本社" Dim item1 = New GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo() item1.SubItems.AddRange(New GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo() {name1}) item1.Image = Image.FromFile(imagePath & Convert.ToString("japan.gif")) gcComboBox1.Items.Add(item1) Dim name2 As New GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo() name2.Value = " USオフィス" Dim item2 = New GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo() item2.SubItems.AddRange(New GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo() {name2}) item2.Image = Image.FromFile(imagePath & Convert.ToString("usa.gif")) gcComboBox1.Items.Add(item2) Dim name3 As New GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo() name3.Value = " 中国オフィス" Dim item3 = New GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo() item3.SubItems.AddRange(New GrapeCity.Win.Spread.InputMan.CellType.SubItemInfo() {name3}) item3.Image = Image.FromFile(imagePath & Convert.ToString("china.gif")) gcComboBox1.Items.Add(item3) ' GcComboBox型セルを設定します FpSpread1.Sheets(0).Cells(1, 1, 2, 1).CellType = gcComboBox1 End Sub