2011-01-21 44 views
10

在简单的话:BackgroundWorker的RunWorkerCompletedEventArgs.Cancelled总是假

取消我的操作通过调用的BackgroundWorker的CancelAsync()方法,当执行落入事件RunWorkerCompleted,物业CancelledRunWorkerCompletedEventArgs是假的。我无法弄清楚什么时候或哪里应该将它设置为true,因为这是一个EventArgs属性。

任何人都可以给我一点帮助吗? 另外,对不起,如果它是重复的,但我无法找到任何关于此的问题。

回答

15

MSDN

的 RunWorkerCompletedEventArgs取消属性 指示取消 请求是否是由 后台操作处理。

如果您在 代码DoWork的事件处理程序检测通过检查 CancellationPending标志和设置 的 DoWorkEventArgs取消旗帜 取消请求 为真,的 RunWorkerCompletedEventArgs 也取消标志将被设置为true 。

+2

现在我只是觉得很傻。我在BackgroundWoker上阅读了MSDN的主题。但也许我没有阅读RunWorkerCompletedEventArgs的主题。无论如何,非常感谢您的快速明确答案。 – Smur 2011-01-21 12:09:59