ここではコンボボックス(ComboBoxコントロール)の基本操作について紹介します。

よく使うプロパティ

以下はComboBoxコントロールでよく使うプロパティの一覧です。

プロパティ名説明
DropDownStyleDropDown:テキスト部分が編集可能であることを指定します。(デフォルト)
DropDownList:テキスト部分が編集可能でないことを指定します。
Simple:常に一覧が表示されること、およびテキスト部分が編集可能であることを指定します。
IntegralHeightコントロールのサイズを変更するかどうかを示す値を取得または設定します。
MaxDropDownItemsプロパティで表示数を指定する場合は False を指定します。
MaxDropDownItemsドロップダウン部分に表示される項目の最大数を取得または設定します。
表示数を指定する場合は、IntegralHeightプロパティに False を指定します。
SelectedIndex現在選択されている項目を指定しているインデックスを取得または設定します。
インデックスは 0 から始まる番号で、項目が選択されていない場合は -1 が返されます。
SelectedItem現在選択されている項目を取得または設定します。
SelectedText選択されているテキストを取得または設定します。
DropDownStyle が DropDownList に設定されている場合、戻り値は空の文字列 (“”) です。


項目を追加する

項目を追加する(Items.Addメソッド)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

    ' テキストボックス部分は編集不可にする
    Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

    ' コンボボックスに項目を追加する
    With Me.ComboBox1
        .Items.Add("北海道")
        .Items.Add("東北")
        .Items.Add("関東")
        .Items.Add("中部")
        .Items.Add("近畿")
        .Items.Add("中国")
        .Items.Add("四国")
        .Items.Add("九州・沖縄")
    End With

End Sub


配列項目を追加する(Items.AddRangeメソッド)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

    ' テキストボックス部分は編集不可にする
    Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

    Dim strItem() As String = {"北海道", "東北", "関東", "中部", "近畿", "中国", "四国", "九州・沖縄"}

    ' コンボボックスに配列項目を追加する
    Me.ComboBox1.Items.AddRange(strItem)

End Sub


項目を削除する

項目を全て削除する(Items.Clearメソッド)

' 項目を全て削除する
Me.ComboBox1.Items.Clear()


指定したインデックスの項目を削除する(Items.RemoveAtメソッド)

' 2行目の項目を削除する
Me.ComboBox1.Items.RemoveAt(1)


項目を選択する

インデックスを指定して項目を選択する(SelectedIndexプロパティ)

' 1番目の項目を選択する
Me.ComboBox1.SelectedIndex = 0


選択している状態を解除する(SelectedIndexプロパティ)

' 選択している状態を解除する
Me.ComboBox1.SelectedIndex = -1


選択されている情報を取得する

選択されているインデックスを取得する(SelectedIndexプロパティ)

' 選択されているインデックスを取得する
Dim idx As Integer = Me.ComboBox1.SelectedIndex
Debug.Print(idx)


選択されている文字列を取得する(SelectedItemプロパティ)

' 選択されている文字列を取得する
Dim strItem As String = Me.ComboBox1.SelectedItem
Debug.Print(strItem)


リストボックスの項目数を取得する(SelectedItemプロパティ)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

    ' コンボボックスに項目を追加する
    With Me.ComboBox1
        .Items.Add("北海道")
        .Items.Add("東北")
        .Items.Add("関東")
        .Items.Add("中部")
        .Items.Add("近畿")
        .Items.Add("中国")
        .Items.Add("四国")
        .Items.Add("九州・沖縄")
    End With
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    MessageBox.Show(Me.ComboBox1.Items.Count) ' 実行結果:8
End Sub


表示する項目数を変更する

表示する項目数を変更する(MaxDropDownItemsプロパティ)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

    ' テキストボックス部分は編集不可にする
    Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

    ' コンボボックスに項目を追加する
    With Me.ComboBox1
        .Items.Add("北海道")
        .Items.Add("東北")
        .Items.Add("関東")
        .Items.Add("中部")
        .Items.Add("近畿")
        .Items.Add("中国")
        .Items.Add("四国")
        .Items.Add("九州・沖縄")
    End With

    ' 表示数を5行にする
    Me.ComboBox1.IntegralHeight = False
    Me.ComboBox1.MaxDropDownItems = 5

End Sub


注意

MaxDropDownItemsプロパティを指定するだけでは表示する行数は変わりません。IntegralHeightプロパティを False にする必要があります。


以上、コンボボックス(ComboBoxコントロール)の基本操作について解説しました。