ListViewの表示モードがDetailsのときは、先頭の列の項目をクリックすることによって項目の選択を行います。
これを、どの列でクリックされた場合でも(つまり行内でクリックされた場合に)項目が選択されるようにするには、FullRowSelectプロパティにTrueを指定します。
下記は、[FullRowSelect]チェックボックスにチェックが付けられたときに、項目を行単位で選択できるようにする例です。
VBの例
' フォームロード時にListViewに項目を追加する Private Sub Form6_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 ' FullRowSelectのチェック変更時の処理 Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged '[FullRowSelect]チェックボックスの内容に合わせて 'ListViewの項目選択方法を切り替える ListView1.FullRowSelect = CheckBox1.Checked End Sub
C#の例
// フォームロード時にListViewに項目を追加する private void Form6_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); } } // FullRowSelectのチェック変更時の処理 private void checkBox1_CheckedChanged(object sender, EventArgs e) { // [FullRowSelect]チェックボックスの内容に合わせて // ListViewの項目選択方法を切り替える listView1.FullRowSelect = checkBox1.Checked; }
Please follow and like us:
コメント
[…] 項目を行で選択できるようにする […]