Нужна помощь, чтобы остановить поток BackgroundWorker. Я пытаюсь остановить фоновый рабочий поток. Вот что я делаю:
При нажатии кнопки остановки (уровень пользовательского интерфейса):
if (backgroundWorker.IsBusy == true &&
backgroundWorker.WorkerSupportsCancellation == true)
{
backgroundWorker.CancelAsync();
}
При событии DoWork (уровень пользовательского интерфейса):
if ((backgroundWorker.CancellationPending == true))
{
e.Cancel = true;
}
else
{
//Function which progresses the progress bar is called
//here with its definition in business layer
}
После запуска события DoWork и управления моей программой в функции, определенной в Business слоя, как мне вернуться к событию DoWork, чтобы установить 'e.Cancel = true'?