BackGroundWorker 处理的数据为什么会重复 本帖最后由 prestashop 于 2011-05-21 01:51:27 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DoWork中的代码是在后台线程上执行的,但RunWorkerCompleted应该是在窗体线程上执行的 问题在你的DoWork调用RetrieveListViewData方法时,方法里的Thread.Sleep暂停的时间大于worker.reportProgress的时间。导致在线程挂起时,已经触发了ProgressChanged事件。所以说,DoWork要放到后台现成上去。你可以把Thread.Sleep(1)试试,重复的项目会更多。所以DoWork这个方法,本来就是开辟一个线程来执行耗时的操作,所以可以指定一个sleep,而你现在执行的语句速度太快,没等他sleep,就已经搞定了。所以会重复。出现重复的就是sleep时间太长了 pong网的算法题,超时了,发到这边帮忙看看怎样 数据库备份 文本框 用空格 隔开进行关键字搜索 是怎么做的? 超级菜鸟。如何实例化。 RDLC添加DataSet字段时为什么自己加命名空间属性 c#为什么这段代码密码修改成功但数据库没更新呢。。求助大虾们了。。。 两个按钮分别向datagrid 添加列,怎么弄?? DataGrid控件 求助!!如何防止UDPClient的Receive无可接收的数据包引起的阻塞?!! SYSTEM用户访问共享资源的问题 为什么我的WPF浏览器应用程序部署到IIS7.5上无法使用? 【求教大神】C#局域网读写txt
所以说,DoWork要放到后台现成上去。你可以把Thread.Sleep(1)试试,重复的项目会更多。所以DoWork这个方法,本来就是开辟一个线程来执行耗时的操作,所以可以指定一个sleep,而你现在执行的语句速度太快,没等他sleep,就已经搞定了。所以会重复。
出现重复的就是sleep时间太长了