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:
Quando premo il tasto contenente la CancelAsync(), avviene l'uscita dalla BW, ma quando rilancio la BWcodice:if (backgroundWorker3.CancellationPending == true) { e.Cancel = true; break; } else { backgroundWorker3.ReportProgress(100); }
Viene generata l'eccezione che afferma che la BW è già in esecuzione.codice:backgroundWorker3.RunWorkerAsync();
Quindi, come posso terminare DEFINITIVAMENTE la BW e poi lanciarne un'altra analoga?
Grazie.


Rispondi quotando