コンボやマスクコンボコントロールでドロップダウンの項目を自動で選択するには?

文書番号 : 40952     文書種別 : 使用方法     登録日 : 2017/08/25     最終更新日 : 2017/08/25
文書を印刷する
対象製品
InputMan for Windows Forms 10.0J
詳細
コンボおよびマスクコンボコントロールで、テキスト部分への入力内容に一致するドロップダウンリスト項目を自動的に選択するには、AutoSelectプロパティを使用します。AutoSelectプロパティをTrueに設定すると、テキスト部への入力が行われたときにドロップダウンが表示され、一致する項目が自動的にフォーカスされます。
なお、AutoSelectプロパティはDropDownStyleプロパティがComboBoxStyle.DropDownの場合にのみ有効となります。

[Visual Basic]
GcComboBox1.DropDownStyle = ComboBoxStyle.DropDown
GcComboBox1.AutoSelect = True

[C#]
gcComboBox1.DropDownStyle = ComboBoxStyle.DropDown;
gcComboBox1.AutoSelect = true;


このとき、項目は完全には選択されていないため、SelectedIndexプロパティには反映されていません。AutoSelectプロパティの機能によりフォーカスされている項目のインデックスは、ListSelectedItemIndexプロパティで取得できます。また、このとき、ListSelectedItemIndexChangedイベントが発生します。

DropDownStyleプロパティが ComboBoxStyle.DropDownList のときに同様の動作を実現するためには、オートコンプリート機能を使用します。AutoCompleteModeプロパティを AutoCompleteMode.SuggestAppendに設定し、AutoCompleteSourceプロパティに AutoCompleteSource.ListItems を指定することで実現することが可能です。

[Visual Basic]
GcComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
GcComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
GcComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems

[C#]
gcComboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
gcComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
gcComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

オートコンプリート機能を利用しない場合は、入力した文字と最初の一文字が合致する項目が選択されます。オートコンプリート機能を利用すると、複数文字の入力に一致する項目が選択されるようになります。

なお、AutoCompleteModeプロパティをAutoCompleteMode.Appendに設定すると、入力時にドロップダウンリストは開きません。