2011-01-21 41 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