BackgroundWorker RunWorkerCompletedEventArgs.Cancelled всегда false

Простыми словами:

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

Кто-нибудь может мне помочь? Кроме того, извините, если это дубликат, но я не мог найти никаких вопросов по этому поводу.

Ответ 1

От MSDN:

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

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