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

よく使うプロパティ

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

プロパティ名説明
MultiColumnListBoxが複数の列をサポートするかどうかを示す値を取得または設定します。
複数の列をサポートする場合は True を指定します。
ScrollAlwaysVisible垂直スクロールバーが常に表示されるかどうかを示す値を取得または設定します。
垂直スクロールバーを常に表示する場合は True を指定します。
SelectedIndex現在選択されている項目を指定しているインデックスを取得または設定します。
インデックスは 0 から始まる番号で、項目が選択されていない場合は -1 が返されます。
SelectedItem現在選択されている項目を取得または設定します。
SelectionMode選択モードを取得または設定します。
None:選択できない
One:複数選択できない
MultiSimple:複数選択できる
MultiExtended:複数範囲選択できる


項目を追加する

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

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    ' リストボックスに項目を追加する
    With Me.ListBox1
        .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
    Dim strItem() As String = {"北海道", "東北", "関東", "中部", "近畿", "中国", "四国", "九州・沖縄"}

    ' リストボックスに配列項目を追加する
    Me.ListBox1.Items.AddRange(strItem)
End Sub


項目を挿入する(Items.Insertメソッド)

' 項目を挿入する
Me.ListBox1.Items.Insert(4, "5行目に挿入")


項目を削除する

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

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


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

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


項目を選択する

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

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


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

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


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

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

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


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

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


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

' 選択されている全ての項目の文字列を取得する
For Each item In ListBox1.SelectedItems
    Debug.Print(item)
Next


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

' 選択されている全てのインデックス番号を取得する
For Each idx In ListBox1.SelectedIndices
    Debug.Print(idx)
Next


指定された項目が選択されているかどうか調べる(GetSelectedメソッド)

' 2番目の項目が選択されているか
If ListBox1.GetSelected(1) Then
    MessageBox.Show("2番目の項目は選択されています")
Else
    MessageBox.Show("2番目の項目は選択されていません")
End If


指定した行を書き換える

指定した行を書き換える(Itemsプロパティ)

' 指定した行を書き換える
Me.ListBox1.Items(1) = "2行を書き換える"


全ての項目の選択を解除する

全ての項目の選択を解除する(ClearSelectedメソッド)

' 全ての項目の選択を解除する
Me.ListBox1.ClearSelected()


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