我有referred to MSDN并发现通过触发事件取消BackgroundWorker的_DoWork()非常容易。
我想知道如何在我在_DoWork()中调用的另一种方法中执行工作时取消_DoWork()。
这可能吗?
谢谢,
马特
答案 0 :(得分:2)
BackgroundWorker
示例here显示了如何执行此操作。
总结:
BackgroundWorker
时,请设置WorkerSupportsCancellation
。DoWork
处理程序中,定期检查CancellationPending
。如果是,则将DoWorkEventArgs.Cancel
设置为true并从DoWork
返回。CancelAsync
。RunWorkerCompletedEventArgs.Cancelled
。要从另一个方法中执行此操作,该方法必须具有BackgroundWorker
实例并且DoWorkEventArgs
实例已传递给它。