リストボックスの選択項目を取得
今回は、リストボックスで選択されている項目を取得する方法をご紹介します。
1つの項目を取得する
リストボックスはデフォルトの設定では1つの項目しか選択することができないようになっています。
まずはその状態での選択項目の取得方法をご紹介します。
リストボックスで選択されている1つの項目を取得するには、リストボックスのSelectedItemプロパティを使用します。
ListBox名.SelectedItem
それではサンプルを見てみましょう。
以下は、Button1を押すと、ListBox1で選択されている項目を取得してコンソールに出力する例です。
1 2 3 4 5 6 7 8 9 |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim sItem As String 'ListBox1で選択されている項目の取得 sItem = ListBox1.SelectedItem 'コンソールへ出力 Console.WriteLine(sItem) End Sub |
上記を実行すると、Button1を押した際にListBox1で選択していた項目がコンソールに表示されます。
複数の項目を取得する
リストボックスでは、設定によっては複数の項目を同時に指定できる場合があります。
設定方法については以下の記事をご参照ください。
複数項目が選択されている場合に、選択されているすべての項目を取得するには、リストボックスのSelectedItemsプロパティを使用します。
ListBox名.SelectedItems
それではサンプルを見てみましょう。
以下は、Button1を押すと、ListBox1で選択されているすべての項目を取得してコンソールに出力する例です。
1 2 3 4 5 6 7 8 9 10 11 |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim sItems As String = String.Empty 'ListBox1で選択されているすべての項目の取得 For Each sItem In ListBox1.SelectedItems sItems &= sItem & vbCrLf Next 'コンソールへ出力 Console.WriteLine(sItems) End Sub |
上記を実行すると、Button1を押した際にListBox1で選択していた、すべての項目がコンソールに表示されます。
SelectedItemsプロパティには、選択されているすべての項目名が格納されており、それをFor ~ Eachで項目数分1つずつ取り出しています。
For ~ Eachについては、以下の記事をご参照ください。
以上が、リストボックスで選択されている項目を取得する「SelectedItem」「SelectedItems」プロパティの使い方です。
ぜひ参考にしてみてください。