0

我很难在后台工作人员的列表视图中循环遍历所有选定的项目。我做了一些研究,发现了这一点;无法在 ListView 跨线程中获取项目但它似乎不起作用,因为我只想发送到选定的项目,有人可以举例说明我应该做什么吗?这一切都是非常新的和令人困惑的。

我累了的视觉例子; 在此处输入图像描述

4

2 回答 2

1

您的函数getListViewItems需要ListView作为参数。您正在尝试使用ListViewItemCollection调用它,这就是它失败的原因。

只需将其修改为

foreach(ListViewItem item in getListViewItems(listView2))
于 2013-02-27T09:03:57.913 回答
0

定义这样的函数:

public static List<ListViewItem> GetSelectedListViewItems(ListView lv)
{
    if (!lv.InvokeRequired)
        return lv.SelectedItems.Cast<ListViewItem>().ToList();
    else
        return (List<ListViewItem>)lv.Invoke(
            new Func<ListView, List<ListViewItem>>(GetSelectedListViewItems),
            lv);
}

用法:

private void SendMSG_DoWork(object sender, DoWorkEventArgs e)
{
    foreach (var item in GetListViewSelectedItems(listView2))
    {
        // ...
    }
}
于 2013-02-27T09:04:40.790 回答