C# ComboBox(System.Windows.Forms.ComboBox)
ComboBoxについてです。

コンボボックスに単純に要素を追加・取得する
コンボボックスに単純に文字を表示させたい場合は、Items.Addで表示したい文字列をセットすればOKです。
- 例)リストに"AAA","BBB"を追加する
-
comboBox1.Items.Add("AAA"); comboBox1.Items.Add("BBB");
- 例)選択されたリストの文字列を取得する
-
string str = comboBox1.SelectedItem.ToString();
- 【結果例】AAAを選択した場合
- str → AAA
コンボボックスにKeyとValueを追加・取得する
表示させる文字列とは別に、内部的にはキーでデータを扱いたい場合のサンプルです。
Items.Addではどんなオブジェクトでも設定できますが、リストに表示される文字列はオブジェクトをToStringした結果です。
なので、表示用にオーバーライドしたToStringメソッドを用意して、キーは別に持たせるようにすれば実現できます。
- 例)
-
// データクラス class CmbObject { public int Key { get; set; } public string Value { get; set; } public CmbObject(int Key, string Value) { this.Key = Key; this.Value = Value; } public override string ToString() { return Value; } } // リストにKey, Value要素を追加する CmbObject obj1 = new CmbObject(1, "AAA"); CmbObject obj2 = new CmbObject(2, "BBB"); CmbObject obj3 = new CmbObject(3, "CCC"); comboBox1.Items.Add(obj1); comboBox1.Items.Add(obj2); comboBox1.Items.Add(obj3); // 選択されたリストのKeyを取得する CmbObject obj = (CmbObject)comboBox1.SelectedItem; string str = obj.Key.ToString
- 【結果例】CCCを選択した場合
- str → 3
リストの数をカウントする
- 例)リストの数を取得する
-
int i = comboBox1.Items.Count;
選択されたリストのインデックスを取得する
- 例)選択されたリストのインデックスを取得する
-
int i = comboBox1.SelectedIndex;
※インデックスは0からの連番、未選択の場合は-1が返ります。
ComboBoxのプロパティ
| プロパティ | 設定値 (太字は既定値) | 意味 |
|---|---|---|
| その他 | ||
| AutoCompleteCustomSource | (コレクション) | * |
| AutoCompleteMode | None | * |
| AutoCompleteSource | None | * |
| FormatString | * | |
| FormattingEnabled | True/False | * |
| データ | ||
| (ApplicationSettings) | * | |
| (DataBindings) | * | |
| DataSource | (なし) | * |
| DisplayMember | (なし) | * |
| Items | (コレクション) | リストの要素を指定する |
| Tag | * | |
| ValueMember | * | |
| デザイン | ||
| (Name) | comboBox1 | コントロール名を指定する ※プログラムからはこの名前で参照できます。 |
| GenerateMember | True/False | * |
| Locked | True/False | デザインモードでの編集可否を指定する True:編集不可 False:編集可 |
| Modifiers | Public Protected Protected Internal Internal Private | アクセスレベルを指定する |
| フォーカス | ||
| CausesValidation | True/False | * |
| ユーザー補助 | ||
| AccessibleDescription | * | |
| AccessibleName | * | |
| AccessibleRole | Default None TitleBar ... | * |
| 動作 | ||
| AllowDrop | True/False | * |
| ContextMenuStrip | (なし) | * |
| DrawMode | Normal OwnerDrawFixed OwnewDrawVariable | * |
| DropDownHeight | 106 | * |
| DropDownWidth | 121 | * |
| Enabled | True/False | 活性状態を指定する |
| ImeMode | NoControl ~ | * |
| IntegralHeight | True/False | * |
| ItemHeight | 12 | * |
| MaxDropDownItems | 8 | * |
| MaxLength | 0 | 入力可能文字数を指定する。 ※0は無制限 |
| Sorted | True/False | リストのソートの指定 True:ソートする False:ソートしない |
| TabIndex | タブ移動順を指定する | |
| TabStop | True/False | タブ移動でのフォーカスの可否を指定する |
| Visible | True/False | コントロールの表示/非表示を指定する |
| 配置 | ||
| Anchor | Top,Left | * |
| Dock | None *** | * |
| Location | x,y | 表示位置をX座標、Y座標で指定する |
| Margin | 3,3,3,3 | * |
| MaximumSize | 0,0 | * |
| MinimumSize | 0,0 | * |
| Size | w,h | コントロールの大きさをWidth,Heightで指定する |
| 表示 | ||
| BackColor | Window | 背景色を指定する |
| Cursor | AppStarting Arrow Cross Default IBeam No SizeAll SizeNESW | マウスカーソルの形状を指定する |
| DropDownStyle | Simple DropDown DropDownList | スタイルを指定する。 Simple:ドロップダウンリストが常に表示・編集可能 DropDown:編集可能ドロップダウンリスト DropDownList:編集不可ドロップダウンリスト |
| FlatStyle | Flat Popup Standard System | * |
| Font | MS UI Gothic, 9pt | フォントとサイズを指定する |
| ForeColor | ControlText | 文字色を指定する |
| RightToLeft | No Yes Inherit | |
| Text | 初期表示する文字を指定する ※DropDownStyle=DropDownListの場合は無効 | |
| UseWaitCursor | True/False | * |
