列表视图,复选框,c#

时间:2011-01-01 12:01:48

标签: c# winforms

我有ListView,它显示来自ImageList的图像。现在想要获取ListView中所有已检查图像的索引。

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 个答案:

答案 0 :(得分:3)

ListView已经有CheckedIndices属性。您可能应该直接使用它,但是您可以获得List&lt;&gt;用Linq one-liner打开它:

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

答案 1 :(得分:0)

好吧,我不确定我是否完全理解你的问题,但你可以使用item.Index获取ListViewItem的索引。

答案 2 :(得分: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]);
}