【发布时间】:2011-11-05 19:49:25
【问题描述】:
我的background worker 需要遍历ListView 中的每个项目。但是我不能这样做:
foreach (ListViewItem Item in List.Items)
因为这是一个跨线程操作。
我也无法将这些项目放入ListView.ListViewItemCollection 并让后台工作人员从中读取。这仍在尝试访问ListView并创建跨线程操作。
如何使ListView 的项目对后台工作人员可用,而不将它们放在某个变量中?
【问题讨论】:
-
有一种方法可以禁用非法跨线程操作检查,但确切的解决方案是将数据放入数据访问对象或变量中,并在后台操作完成时更新列表视图。
标签: c# listview thread-safety backgroundworker