C#プチリファレンス

C# ComboBox(System.Windows.Forms.ComboBox)

ComboBoxについてです。

C# 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のプロパティ

【ComboBoxのプロパティ】
プロパティ設定値
(太字は既定値)
意味
その他
AutoCompleteCustomSource(コレクション)*
AutoCompleteModeNone*
AutoCompleteSourceNone*
FormatString*
FormattingEnabledTrue/False*
データ
(ApplicationSettings)*
(DataBindings)*
DataSource(なし)*
DisplayMember(なし)*
Items(コレクション)リストの要素を指定する
Tag*
ValueMember*
デザイン
(Name)comboBox1コントロール名を指定する
※プログラムからはこの名前で参照できます。
GenerateMemberTrue/False*
LockedTrue/Falseデザインモードでの編集可否を指定する
True:編集不可 False:編集可
ModifiersPublic
Protected
Protected Internal
Internal
Private
アクセスレベルを指定する
フォーカス
CausesValidationTrue/False*
ユーザー補助
AccessibleDescription*
AccessibleName*
AccessibleRoleDefault
None
TitleBar
...
*
動作
AllowDropTrue/False*
ContextMenuStrip(なし)*
DrawModeNormal
OwnerDrawFixed
OwnewDrawVariable
*
DropDownHeight106*
DropDownWidth121*
EnabledTrue/False活性状態を指定する
ImeModeNoControl
*
IntegralHeightTrue/False*
ItemHeight12*
MaxDropDownItems8*
MaxLength0入力可能文字数を指定する。
※0は無制限
SortedTrue/Falseリストのソートの指定
True:ソートする False:ソートしない
TabIndexタブ移動順を指定する
TabStopTrue/Falseタブ移動でのフォーカスの可否を指定する
VisibleTrue/Falseコントロールの表示/非表示を指定する
配置
AnchorTop,Left*
DockNone
***
*
Locationx,y表示位置をX座標、Y座標で指定する
Margin3,3,3,3*
MaximumSize0,0*
MinimumSize0,0*
Sizew,hコントロールの大きさをWidth,Heightで指定する
表示
BackColorWindow背景色を指定する
CursorAppStarting
Arrow
Cross
Default
IBeam
No
SizeAll
SizeNESW
マウスカーソルの形状を指定する
DropDownStyleSimple
DropDown
DropDownList
スタイルを指定する。
Simple:ドロップダウンリストが常に表示・編集可能
DropDown:編集可能ドロップダウンリスト
DropDownList:編集不可ドロップダウンリスト
FlatStyleFlat
Popup
Standard
System
*
FontMS UI Gothic, 9ptフォントとサイズを指定する
ForeColorControlText文字色を指定する
RightToLeftNo
Yes
Inherit
Text初期表示する文字を指定する
※DropDownStyle=DropDownListの場合は無効
UseWaitCursorTrue/False*
ToTop