форма удалена и установлена в ноль, однако, когда задача возвращается из отмененной, я все еще получаю MessageBox.Show происходит
Установка переменной, которая является ссылкой на формуnull, и даже вызов Dispose () для формы, на самом деле не уничтожает форму.Задача все еще выполняется до тех пор, пока она не будет отменена (CancellationTokenSource
задуман как кооперативная модель для отмены).
Таким образом, вам необходимо явно обработать путь к коду, который происходит при отмене задачи.Это может быть так же просто, как проверка, если вы уже утилизированы, например:
if (this.IsDisposed)
return; // Just break out if we canceled and shut down
// Your other code....
if (result == Cancelled)
MessageBox.Show("Cancelled");