Allora, la situazione è questa. Ho una BW dove le proprietà: WorkerReportsProgress e WorkerSupportsCancellation sono settate a true.
Nel tasto che dovrebbe chiudere la BW è richiamata la CancelAsync().
Mentre all'interno del ciclo nel codice della BW (doWork) è riportata la seguente sintassi:
codice:
if (backgroundWorker3.CancellationPending == true)
{
e.Cancel = true;
break;
}
else
{
backgroundWorker3.ReportProgress(100);
}
Quando premo il tasto contenente la CancelAsync(), avviene l'uscita dalla BW, ma quando rilancio la BW
codice:
backgroundWorker3.RunWorkerAsync();
Viene generata l'eccezione che afferma che la BW è già in esecuzione.
Quindi, come posso terminare DEFINITIVAMENTE la BW e poi lanciarne un'altra analoga?
Grazie.