DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ListViewのチェックボックスの値

環境/言語:[環境(Windows XP)、使用言語(VB.NET)]
分類:[.NET]

いつもお世話になります。
今TreeViewの選択したラストノードをListViewに表示させ、
ListViewにチェックボックスをつけています。
チェックボックスにチェックされた項目だけを別のListViewに移動させようとしているのですが、チェックのついた値のとりかたが、うまくいきません。
初歩的な質問かもしれませんが、よろしくお願いします。
> ListViewにチェックボックスをつけています。
> チェックのついた値のとりかたが、うまくいきません。

うまくいかないの説明がないとなんとも。。。

そもそものやり方であれば、Checked〜プロパティを使うか自力で全件チェックのいずれかでしょう。
お世話になります。

■No14491に返信(とおるさんの記事)
ListView(Check されたもののみ)→ ListView の
ListViewItem のチェックで宜しいですか?

まどかさんも仰られていますが、
CheckedItems プロパティを使うと思います。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  With Me.ListView1
    .Columns.Clear()
    .Columns.Add("1", 100, HorizontalAlignment.Left)
    .Columns.Add("2", 100, HorizontalAlignment.Left)

    .Items.Clear()
    .Items.Add(New ListViewItem(New String() {"aaa", "bbb"}))
    .Items.Add(New ListViewItem(New String() {"ccc", "ddd"}))
    .Items.Add(New ListViewItem(New String() {"eee", "fff"}))
    .Items.Add(New ListViewItem(New String() {"ggg", "hhh"}))
    .Items.Add(New ListViewItem(New String() {"iii", "jjj"}))
    .CheckBoxes = True
  End With
End Sub

'ListView1 で Check された Item を ListView2 に Copy
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  With Me.ListView2
    .Columns.Clear()
    .Columns.Add("1", 100, HorizontalAlignment.Left)
    .Columns.Add("2", 100, HorizontalAlignment.Left)

    .Items.Clear()
  End With

  For Each lstItem As ListViewItem In Me.ListView1.CheckedItems
    Me.ListView2.Items.Add(DirectCast(lstItem.Clone(), ListViewItem))
  Next
End Sub
遅くなってすみません。
すみません説明不足でした。
まどかさん、なおこさんの言われたとおり、最初はCheckedItems プロパティを使い、チェックがついてる数まではとれてはいたのですが、
その先のチェックがついている値をとってくることができなかったのです。
一応ListViewには表示はできていたので、そこから先、なおこさんのを参考にしながらうまくまわるようになりました。
もうすこしなのでがんばっていきたいと思います。。
ありがとうございました。
またなにかありましたらよろしくお願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板