BackgroundWorker.ReportProgress是否持有BackgroundWorker_DoWork线程?

时间:2011-07-29 18:13:02

标签: c# listbox backgroundworker

我正在使用BackgroundWorker触发一个线程,然后调用一个函数,该函数又通过.ReportProgress()调用Backgroundworker_ProgressChange;

在ProgressChange中,我试图通过传递的对象接收一些信息,将条目写入日志文件。

我可以假设ProgressChange实际上拥有BackgroundWorker线程吗?或者我会在日志中遗漏一些数据吗?

具体来说,我有ProgressChange将项目添加到列表框中。有条件的,如果listbox.items.count> 15,我想枚举listbox.items并将它们写入日志文件。

我对解决方案非常灵活。列表框不是“错过”条目并非强制性。

谢谢,

马特

1 个答案:

答案 0 :(得分:2)

Afaik ProgressChanged操作已发布,因此DoWork不必等待。但是你如何写作活动呢?

进度更新将按顺序进行,它们不会(不能)相互中断。小心不要让它们太慢。