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:


コメント