2011-01-01 9 views
0

ImageListの画像を表示するListViewがあります。 ListViewでチェックされたすべての画像のインデックスを取得したかったのです。listview、checkbox、c#

List<int> list = new List<int>(); // in list index of all checked images on clicking button should be saved. 

private void button2_Click(object sender, EventArgs e) 
{ 
    ListView.CheckedListViewItemCollection checkedItems = lstview1.CheckedItems; 

    foreach (ListViewItem item in checkedItems) 
    { 
     list.add[// How can i get index of checked item ]; 
    } 
} 

答えて

3

ListViewには既にCheckedIndicesプロパティがあります。おそらく、それを直接使用するべき、しかし、あなたは、LINQのワンライナーでそれから>一覧<を取得することができます:

 var list = listView1.CheckedIndices.Cast<int>().ToList(); 
0

まあ、私は完全にあなたの質問を理解していないが、あなたはitem.IndexとのListViewItemのインデックスを取得することができます。

0
ListView.CheckedListViewItemCollection checkedItems = lstview1.CheckedItems; 

foreach (ListViewItem item in checkedItems) 
{ 
     // This will fill the list with ListViewItems that are checked 
     list.add(listview1.Items[item.Index]); 
} 
+0

私はすでに試みたが、それはリストための最良のオーバーロードされたmatchメソッドは、無効なパラメータを持っています。 – Shahgee

+0

私はすでに試しましたが、リストのオーバーロードされたマッチ方法が無効なパラメータを持っています。私がメッセージボックスに表示したいときは理由を理解していますが、それを修正する方法はわかりません。 MessageBox.Show(lstview1.Items [item.Index] .ToString()); // listviewitem = {}を表示します – Shahgee

関連する問題