目次へ戻ります
VB サンプル


VB コンボボックス操作

コンボ ボックス (ComboBox) コントロール
コンボ ボックス コントロールは、テキスト ボックス (TextBox) コントロールとリスト ボックス (ListBox) コントロールの機能を組み合わせたものです。ユーザーは、テキスト ボックス部分にテキストを直接入力する方法と、リスト部分から項目を選択する方法のどちらでも入力できます。

●AddItem 新しい項目を追加
●Clear 項目をすべてクリア
●ItemData 項目に個別の番号を設定/取得
●List 項目の変更/取得
●ListCount 現在の項目数を取得
●ListIndex 現在選択されている項目のインデックスを設定/取得
●NewIndex 最後に追加した項目のインデックスを取得
●RemoveItem 項目を削除
●Text テキストの編集/取得
【サンプルリスト】

Private Sub Form_Load()
  'コンボボックスに社員名と社員コードを登録
  Combo1.Clear           'コンボボックス クリア
  Combo1.AddItem "田中": Combo1.ItemData(Combo1.NewIndex) = 1101 '登録
  Combo1.AddItem "矢口": Combo1.ItemData(Combo1.NewIndex) = 1102 '登録
  Combo1.AddItem "秋葉": Combo1.ItemData(Combo1.NewIndex) = 1103 '登録
  Combo1.ListIndex = -1  'コンボボックス項目は何も選択していない状態
  Combo1.Text = "名前を選択してください" 'コンボボックスの初期表示
End Sub

Private Sub Combo1_Click()
  Dim result
  result = Combo1.ListIndex                  '選択されたコンボのインデックス番号を取得
  result = Combo1.ItemData(Combo1.ListIndex) '選択されたコンボの社員コードを取得
  result = Combo1.List(Combo1.ListIndex)     '選択されたコンボの社員名を取得
End Sub
●AddItemメソッド

【機能】コンボボックスへ新しい項目を追加します。

【書式】obj.AddItem 項目

【 例 】
  ・ Combo1.AddItem "田中"
Combo1.ItemData(Combo1.NewIndex) = 1101
'社員名の登録
'社員番号の登録

※ Sortedプロパティが真(True)のとき、項目は並べ替えられてから適切な位置に配置されます。
※ Sortedプロパティが偽(False)のとき、項目はリストの最後に追加されます。
●Clearメソッド

【機能】コンボボックスの内容(項目)をすべてクリアします。

【書式】obj.Clear

【 例 】Combo1.Clear
●ItemDataプロパティ

【機能】コンボボックスに含まれる各項目に、個別の番号を設定します。値の取得も可能です。

【書式】obj.ItemData(インデックス) = 番号

【 例 】
  ・ Combo1.AddItem "田中"
Combo1.ItemData(Combo1.NewIndex) = 1101
'社員名の登録
'社員番号の登録
result = Combo1.ItemData(Combo1.ListIndex) '選択された項目の個別番号を取得
●Listプロパティ

【機能】指定したインデックスの項目を変更/取得します。

【書式】obj.List (インデックス) = 項目

【 例 】
   Combo1.List(Combo1.ListIndex) = "大森" '選択された項目を変更
   result = Combo1.List(Combo1.ListIndex) '選択された項目を取得

【関連】obj.Text
●ListCountプロパティ

【機能】コンボボックスの現在の項目数を返します。

【書式】result = obj.ListCount

【 例 】
  ・ Combo1.AddItem "田中"
Combo1.AddItem "矢口"
Combo1.AddItem "秋葉"
result = Combo1.ListCount
 → 3
●ListIndexプロパティ

【機能】コンボボックスの現在選択されている項目のインデックスを設定します。値の取得も可能です。

【書式】obj.ListIndex = インデックス

【 例 】
    Combo1.ListIndex = 0 '先頭の項目を表示
Combo1.ListIndex = -1 '項目が選択されていない状態(空白)にする
result = Combo1.ListIndex '選択された項目のインデックスを取得
●NewIndexプロパティ

【機能】コンボボックスに最後に追加した項目のインデックスを返します。

【書式】result = obj.NewIndex

【 例 】
  ・ Combo1.AddItem "田中"
Combo1.ItemData(Combo1.NewIndex) = 1101
'社員名の登録
'社員番号の登録
result = Combo1.NewIndex '最後に追加した項目のインデックスを取得
●RemoveItemメソッド

【機能】コンボボックスの項目を削除します。

【書式】obj.RemoveItem インデックス

【 例 】
    Combo1.RemoveItem 0 '先頭の項目を削除します
    Combo1.RemoveItem Combo1.ListIndex '選択された項目を削除します

※ データ(Data)コントロールに連結している場合は、RemoveItemメソッドは使用できません。
●Textプロパティ

【機能】コンボボックスの編集領域に表示されるテキストを設定します。値の取得も可能です。

【書式】obj.Text = 文字列

【 例 】
    result = Combo1.Text '表示されている項目を取得します
    Combo1.Text = "名前を選択してください" 'テキストに文字列をセット

【関連】obj.List

※ Textプロパティは項目の内容を編集するわけではありません。
※ テキストの設定はStyleプロパティが 0(ドロップダウンコンボ) または 1(標準コンボ)に設定した場合のみ有効です。

目次へ戻ります