5. 選択モードを設定する
ListBoxコントロールに表示されている項目は選択モードを設定できます。選択モードはSelectionModeプロパティにSelectionMode列挙体を指定して設定します。
| メンバ名 | 説明 |
| Single | 単一の項目を選択できるようにします。 |
| Multiple | 複数の項目を選択できるようにします。 |
| Extended | ShiftキーやCtrlキーを使用して、複数の項目を選択できるようにします。 |
下記は、Single,Multiple,Extendedと書かれたRadioButtonコントロールにあわせて、選択モードを変更する例です。

<ListBox SelectionMode="Multiple">
<ListBoxItem>リンゴ</ListBoxItem>
<ListBoxItem>ミカン</ListBoxItem>
<ListBoxItem>バナナ</ListBoxItem>
<ListBoxItem>パイナップル</ListBoxItem>
<ListBoxItem>スイカ</ListBoxItem>
<ListBoxItem>グレープフルーツ</ListBoxItem>
</ListBox>
Private Sub RadioButton_Checked(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles RadioButton3.Checked, RadioButton2.Checked, RadioButton1.Checked
'選択されたRadioButtonによってSelectionModeを切り替える
If RadioButton1.IsChecked Then
ListBox1.SelectionMode = SelectionMode.Single
ElseIf RadioButton2.IsChecked Then
ListBox1.SelectionMode = SelectionMode.Multiple
Else
ListBox1.SelectionMode = SelectionMode.Extended
End If
End Sub
private void radioButton_Checked(object sender, RoutedEventArgs e)
{
// 選択されたRadioButtonによってSelectionModeを切り替える
if ( (bool)radioButton1.IsChecked )
listBox1.SelectionMode = SelectionMode.Single;
else if ( (bool)radioButton2.IsChecked )
listBox1.SelectionMode = SelectionMode.Multiple;
else
listBox1.SelectionMode = SelectionMode.Extended;
}
選択モードを設定するには、SelectionModeプロパティを使用する。
6. 項目を選択する
ListBoxコントロール上で単一の項目を選択状態するにはItemsプロパティのIsSelectedプロパティをTrueにします。また、全項目を選択するにはSelectAllメソッドを使用します。
下記は[3番目の項目を選択]ボタンを押すと、上から3番目に表示されている項目を選択状態にし、[全選択]ボタンを押すと表示されているすべての項目を選択状態にする例です。

'[3番目の項目を選択]ボタンクリック時の処理
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
'3番目の項目を選択状態にする(インデックスが2の項目)
'IsSelected プロパティはItemsプロパティから直接使用することができません。
'このため ListBoxItem型にキャストしてから使用しています
DirectCast(ListBox1.Items(2), ListBoxItem).IsSelected = True
End Sub
'[全選択]ボタンクリック時の処理
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
'全項目を選択する
ListBox1.SelectAll()
End Sub
// [3番目の項目を選択]ボタンクリック時の処理
private void button1_Click(object sender, RoutedEventArgs e)
{
// 3番目の項目を選択状態にする(インデックスが2の項目)
// IsSelected プロパティはItemsプロパティから直接使用することができません。
// このため ListBoxItem型にキャストしてから使用しています
((ListBoxItem)listBox1.Items[2]).IsSelected = true;
}
// [全選択]ボタンクリック時の処理
private void button2_Click(object sender, RoutedEventArgs e)
{
// 全項目を選択する
listBox1.SelectAll();
}
単一の項目を選択するには、ItemsプロパティのIsSelectedプロパティを、全項目を選択するにはSelectAllメソッドを使用します。
