BackgroundWorker RunWorkerCompletedEventArgs.Cancelled всегда ложно

Я отменяю свою операцию, вызывая метод CancelAsync() на BackgroundWorker, и когда выполнение попадает в событие RunWorkerCompleted, свойство Cancelled на RunWorkerCompletedEventArgs становится ложным.

Хотя я не мог понять, когда и где мне следует установить значение true, как указано в свойстве EventArgs. Так как?


person Smur    schedule 21.01.2011    source источник


Ответы (1)


Из MSDN:

Свойство Canceled RunWorkerCompletedEventArgs указывает, был ли обработан запрос отмены фоновой операцией.

Если ваш код в обработчике событий DoWork обнаруживает запрос отмены, проверяя флаг CancellationPending и устанавливая для флага отмены DoWorkEventArgs значение true, для флага Canceled RunWorkerCompletedEventArgs также будет установлено значение true.

person stuartd    schedule 21.01.2011
comment
Теперь я чувствую себя глупо. Я ДЕЙСТВИТЕЛЬНО прочитал тему MSDN на BackgroundWoker. Но, возможно, я не читал тему RunWorkerCompletedEventArgs. В любом случае, большое спасибо за быстрый четкий ответ. - person Smur; 21.01.2011