自己做了一个检索文件的小工具,但是经常重复处理在DoWork中检索文件,找到文件就将文件路径写入一个全局变量,发送_backgroundWorker1.ReportProgress(i * 100 / arrText.Count)消息,其中i为文件数目,在backgroundWorker1_ProgressChanged中通知将文件路径显示在界面上,但是不知道为什么,经常出现重复显示同一个文件。
在DoWork中和ProgressChanged中全局变量有时不一致,ProgressChanged中还是上次的内容,没有改变,是不是backgroundWorker使用两个线程处理啊?我该怎么办啊?
在DoWork中和ProgressChanged中全局变量有时不一致,ProgressChanged中还是上次的内容,没有改变,是不是backgroundWorker使用两个线程处理啊?我该怎么办啊?
RunWorkerCompleted 事件与用户界面进行通信。
BackgroundWorker
DoWork方法中加个lock试试