7 ComboBox

小窓
ComboBox [VB.NET]

作成日:2022/10/1
ComboBoxとは、 入力すべき値の候補を予め用意しておき、 ユーザーが入力する時、 その候補の値をドロップダウンで一覧として表示し、 必要な値を選択できるものである。
左図の例は、プルダウンで一覧表を開き、「値の候補3」を選択しようとしている図である。
コンボボックスを使用するための基本操作。

ComboBoxの用途

ComboBoxコントロールは、 フォーム上に配置して、 ユーザーがデータを入力するために使用するためのものである。

予め入力するための候補をComboBoxに設定しておき、 ユーザーはその候補の中から、 ひとつを選択することによりデータを入力する。
入力候補を見ることができることにより、この様な利点もある。

ComboBoxの配置

配置

ツールボックスから、 ComboBoxをドラッグ&ドロップでフォームに貼り付けることで配置することができる。

左図の様に、 普通のTextBoxの右端に、 セレクト要素を表示(展開)するための下向きの矢印(以降、「セレクト矢印」と呼ぶ)が付いただけの外観をしたコントロールである。

しかし、これでは何のコントロールなのか全くわからない。
一般的には下図のような方法で設置している。

LabelコントロールあるいはTextBoxコントロールを設置して、 ComboBoxコントロールのタイトルを表示している。
一般的には、 左図のようにComboBoxコントロールの左、 あるいは上部にタイトルを配置することが多い。

プロパティの設定の詳細は後述するが、 解説をわかりやすくするために、 今回解説のために設置したComboBoxコントロールの名称(Nameプロパティで設定する)を

ComboBox1

と決定しておく。

候補の登録

プロパティ設定の順序に制限があるわけではないが、 候補を設定(登録)が最も重要な作業となる。
そのためまず、候補の設定について解説する。

用語について。
この稿では、 ユーザーが入力する際に選択する文字列を「候補」と呼んできた。
しかし、検索しても確定的な用語は見当たらずいくつかの用語が存在している。
「候補」に該当する用語が出現する都度、説明することとする。

「候補」を登録する手段には下記の方法がある。

Itemsコレクションを使って登録する

ItemsコレクションのAddメソッドを使って1件ずつ追加する。
ComboBox1.Items.Add("項目1")
ComboBox1.Items.Add("項目2")
ComboBox1.Items.Add("項目3")

1件ずつ追加して行き、3回実行することにより合計3件を追加した。
"項目1"、"項目2"、"項目3"のリテラルは変数の指定でも可。
ItemsコレクションのAddRangeメソッドを使って、配列にある複数の項目をまとめて追加する。
Dim ary() As String = {"項目1","項目2","項目3"}
ComboBox1.Items.AddRange(ary)

配列(ary)内にある3件の項目が追加された。
ItemsコレクションのInsertメソッドを使って、指定位置に1件追加する。
ComboBox1.Items.Insert(追加位置、"項目名a")

配列(ary)内にある3件の項目が追加された。

候補の設定

ComboBoxの初期設定

手順2:貼り付けたComboBoxのプロパティを設定する。デザイナーあるいはプログラムで設定する。

ComboBoxの用途。

ComboBoxの動作。

1. ComboBoxコントロールをフォームへ配置する。

ツールボックスから、 ComboBoxをドラッグ&ドロップでフォームに貼り付けることで配置することができる。

2. 項目を設定する。

3. ユーザーの選択結果を取得する。

その他の操作

ComboBoxのプロパティ

名称DRS説明
(Name) D R 説明
AccessibleDescription D ? ? 説明。
AccessibleName D ? ? 説明。
AccessibleRole D ? ? 説明。
id="kmAccessibleRole" D ? ? 説明
Anchor D ? ? 説明
AutoCompleteCustomSource D ? ? 説明
AutoCompleteMode D ? ? 説明
AutoCompleteSource D ? ? 説明
BackColor D R S 説明
CousesValidation D ? ? 説明
ContextMenuStrip D ? ? 説明
Cousor D R S 説明
DataSource D ? ? 説明
DisplayMember D ? ? 説明
Dock D ? ? 説明
DrowMode D ? ? 説明
DropDownHeight D ? ?
DropDownStyle D ? ?
DropDownWidth D ? ?
Enable D R S 説明
FlatStyle D ? ? 説明
Font D R S 説明
- Name D ? ? 説明
- Size D ? ? 説明
- Unit D ? ? 説明
- Bold D ? ? 説明
- GdiCharSet D ? ? 説明
- GdiVerticalFont D ? ? 説明
- Italic D ? ? 説明
- Strikeout D ? ? 説明
- Underline D ? ? 説明
ForeColor D R S 説明
FormatString D ? ? 説明
FormattingEnabled D ? ? 説明
GenaterMember D ? ? 説明
ImeMode D R S 説明
IntegralHeight D ? ? 説明
ItemHeight D ? ? 説明
Items D ? ? 説明
Location D R S 説明
- x D R S 説明
- y D R S 説明
Locked D ? ? 説明
Margin D R S 説明
- All D ? ? 説明
- Left D ? ? 説明
- Top D ? ? 説明
- Right D ? ? 説明
- Bottom D ? ? 説明
MaxdropDownItems D ? ? 説明
MaximumSize D R S 説明
- Width D ? ? 説明
- Height D ? ? 説明
MinimumSize D R S 説明
- Width D ? ? 説明
- Height D ? ? 説明
Modifiers D ? ? 説明
RightToLeft D R S 説明
Size D R S 説明
- Width D ? ? 説明
- Height D ? ? 説明
Sorted D ? ? 説明
TabIndex D R S 説明
TabStop D R S 説明
Tag D ? ? 説明
Text D R S 説明
UseWaitCursor D ? ? 説明
ValueMember D ? ? 説明
Visible D R S 説明
「D」の文字を付したものはフォームデザイナー(およびプログラム)で設定できることを示している。
「D」の文字がないものは、 プログラムから設定する。
「R」の文字を付したものは、そのプロパティの設定値を参照/取得することができる。
「R」の文字がないものは、 そのプロパティの設定値を参照も取得もできないことを意味するが、 その様なコントロールの有無は不明。
「S」の文字を付したものはそのプロパティに値を設定できることを示している。
「S」の文字がないものは、 参照/取得のみできる。