使用backgroundWorker控件 线程怎么取消,我用.CancelAsync(),
可是再重新开始线程的时候,报错:
此 BackgroundWorker 当前正忙,无法同时运行多个任务。

解决方案 »

  1.   

    需要在DoWork判断是否已经取消了,如果取消了,需要返回
      

  2.   

    我现在的情况是这样的,winform上有两个按钮,上传按钮和取消按钮
    点击上传时用了backgroundWorker.RunWorkerAsync();来调用backgroundWorker_DoWork里的处理我想做成 点取消按钮后 用bgWorkerUp.CancelAsync();吧这个线程取消了,然后当再点上传的时候,还可以从头上传。
    现在当再点上传的时候,就会报此 BackgroundWorker 当前正忙,无法同时运行多个任务。的错误