winfrom程序使用backgroundworker 遇到的问题,大神来帮帮小弟

qq_37609657 2019-05-30 02:35:48
点击开启按钮后执行(一个按钮接连点击几次执行,比如添加很多任务共同执行)
//关键代码
private BackgroundWorker worker =null;

worker = new BackgroundWorker();
worker.WorkerReportsProgress = true;
worker.WorkerSupportsCancellation = true;
worker.DoWork += worker_DoWork;
worker.ProgressChanged += worker_ProgressChanged;
worker.RunWorkerCompleted += worker_RunWorkerCompleted;
if(worker.IsBusy==false)
{
worker.RunWorkerAsync();//开始执行
}
void worker_DoWork(object sender, DoWorkEventArgs e)
{
//逻辑代码
worker.ReportProgress(1,"完成!");//这一句总是报错:此操作上已经调用了 OperationCompleted,进一步的调用是非法的。
}
不知所以,错在哪里,有劳烦告知的大神吗?
...全文
117 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,909

社区成员

发帖
与我相关
我的任务
社区描述
《新程序员》读者俱乐部
其他 其他
社区管理员
  • 《程序员》杂志社区
  • SoftwareTeacher
  • 《新程序员》编辑部
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧