ListViewコントロール上でチェックの付けられた項目は、CheckedItemsプロパティに格納されています。
CheckedItemsプロパティはListViewItemのコレクションとなっており、For Each(C#ではforeach)などを利用して、チェックされた項目を取り出すことが出来ます。
下記は、[チェックが付いた項目を取得する]ボタンがクリックされると、現在チェックの付いている項目をメッセージボックスに表示します。
VBの例
' フォームロード時にListViewに項目を追加する Private Sub Form12_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 'チェックボックスを表示する ListView1.CheckBoxes = True End Sub ' [チェックが付いた項目を取得する]ボタンクリック時の処理 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim msg As String = String.Empty For Each itemx As ListViewItem In ListView1.CheckedItems msg &= itemx.Text & vbCrLf Next MessageBox.Show("チェックが付いている項目は" & vbCrLf & msg) End Sub
C#の例
// フォームロード時にListViewに項目を追加する private void Form12_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); } // チェックボックスを表示する listView1.CheckBoxes = true; } // [チェックが付いた項目を取得する]ボタンクリック時の処理 private void button1_Click(object sender, EventArgs e) { string msg = String.Empty; foreach (ListViewItem itemx in listView1.CheckedItems) { msg += itemx.Text + "\r\n"; } MessageBox.Show("チェックが付いている項目は\r\n" + msg); }
Please follow and like us:
コメント