从后台工作者添加到ListView

时间:2014-01-14 17:07:04

标签: c# winforms listview backgroundworker show

我有一个WinForm,它将数据库中的一些元素添加到listview中。因为加载所有我尝试制作后台工作者所需的时间相当长。除了添加到列表代码之外,后台工作程序中的所有工作都正常:

ListViewItem lvi = new ListViewItem(event);
lvi.SubItems.Add(name);
lvi.SubItems.Add(status);
lvi.SubItems.Add(x);
lvi.SubItems.Add(y);
lvi.SubItems.Add(z);
TABEL.Items.Add(lvi);

MessageBox.Show("check");

代码未到达消息框并中断循环。但是如果列表视图不可见,则它会添加,并且也会到达消息框。 在完成所有添加后,我可以使列表视图可见,但我想知道是否有办法让它至少显示它在某些时间间隔添加的部分内容...(例如,25%,50%完成)?< / p>

1 个答案:

答案 0 :(得分:1)

您有多种解决方案。我认为不需要后台工作线程。

例如,您可以尝试:

如果您决定选择后台工作人员,请查看:Populating a listview from another thread