HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


VB.NET 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > VB.NET 2005 Tips > コントロール > ListBox Tips メニュー

11.選択されている項目のインデックスを取得する

UPDATE:2006/09/10 

<< 前のTips  次のTips >>

 

 ListBox上で選択されてる項目のインデックスを取得するには、SelectedIndexプロパティを使用します。SelectedIndexプロパティは0から始まるインデックスを返します。複数選択リストボックスの場合には最初に選択されているアイテムのインデックスを返します。また、選択されているすべての項目のインデックスを取得するにはSelectedIndicesプロパティを使用します。

 
サンプル1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim strData() As String = {"A", "B", "C", "D", "E"}

    'リストボックスにアイテムを追加
    ListBox1.Items.AddRange(strData)

    '複数項目選択可能にする
    ListBox1.SelectionMode = SelectionMode.MultiSimple
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MessageBox.Show((ListBox1.SelectedIndex + 1).ToString() & "番目が選択されています。")
End Sub


 
サンプル2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim strData() As String = {"A", "B", "C", "D", "E"}

    'リストボックスにアイテムを追加
    ListBox1.Items.AddRange(strData)

    '複数項目選択可能にする
    ListBox1.SelectionMode = SelectionMode.MultiSimple
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim I As Integer
    Dim strMsg As String = ""

    For I = 0 To ListBox1.SelectedIndices.Count - 1
        strMsg &= (ListBox1.SelectedIndices(I) + 1) & "番目" & ControlChars.NewLine
    Next
    strMsg &= "が選択されています。"

    MessageBox.Show(strMsg)
End Sub