ListViewコントロールは、通常複数の項目を同時に選択できるようになっています。
これを、単一の項目だけを選択できるように変更するには MultiSelect プロパティにFalseを設定します(既定値はTrueです)。
下記は[MultiSelect]チェックボックスの状態にあわせて、単一の項目だけを選択できるようにするかどうかを切り替える例です。
VB.NETの例
' フォームロード時にListViewに項目を追加する Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim items(,) As String = { {"VB", "ぶいびー"}, {"C#", "しーしゃーぷ"}, {"VC++", "びじゅあるしーぷらすぷらす"}, {"F#", "えふしゃーぷ"}, {"PowerShell", "ぱわーしぇる"}} 'ListViiewに項目を追加 For I As Integer = 0 To (items.Length \ items.Rank) - 1 Dim itemx As New ListViewItem itemx.Text = items(I, 0) itemx.SubItems.Add(items(I, 1)) ListView1.Items.Add(itemx) Next End Sub ' MultiSelectのチェック変更時の処理 Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged '[MultiSelect]チェックボックスの内容に合わせて 'ListViewの項目選択を単一にするか複数にするかを切り替える ListView1.MultiSelect = CheckBox1.Checked End Sub
C#の例
// フォームロード時にListViewに項目を追加する private void Form7_Load(object sender, EventArgs e) { string[,] items = { {"VB", "ぶいびー"}, {"C#", "しーしゃーぷ"}, {"VC++", "びじゅあるしーぷらすぷらす"}, {"F#", "えふしゃーぷ"}, {"PowerShell", "ぱわーしぇる"}}; // ListViewに項目を追加する for (int i = 0; i < items.Length / items.Rank; i++) { ListViewItem itemx = new ListViewItem(); itemx.Text = items[i, 0]; itemx.SubItems.Add(items[i, 1]); listView1.Items.Add(itemx); } } // MultiSelectのチェック変更時の処理 private void checkBox1_CheckedChanged(object sender, EventArgs e) { // [MultiSelect]チェックボックスの内容に合わせて // ListViewの項目選択を単一にするか複数にするかを切り替える listView1.MultiSelect = checkBox1.Checked; }
Please follow and like us:
コメント