2011-01-21 18 views
10

In parole semplici:BackgroundWorker RunWorkerCompletedEventArgs.Cancelled sempre false

posso cancellare la mia operazione chiamando il metodo CancelAsync() sulla BackgroundWorker, e quando l'esecuzione rientra nella manifestazione RunWorkerCompleted, proprietà Cancelled su RunWorkerCompletedEventArgs è falso. Non riuscivo a capire quando o dove dovrei impostarlo su true, in quanto questa è una proprietà EventArgs.

Qualcuno può darmi un piccolo aiuto? Inoltre, scusa se si tratta di un duplicato, ma non sono riuscito a trovare alcuna domanda al riguardo.

risposta

15

Da MSDN:

La proprietà Annullato di RunWorkerCompletedEventArgs indica se una richiesta di annullamento è stata elaborata dalla manovra sfondo.

Se il codice nel gestore di eventi DoWork rileva una richiesta di cancellazione controllando la bandiera CancellationPending e impostando la bandiera Cancel di DoWorkEventArgs al vero, la bandiera Annullato di RunWorkerCompletedEventArgs inoltre sarà impostato a true .

+2

Ora mi sento solo sciocco. Ho letto l'argomento di MSDN su BackgroundWoker. Ma forse non ho letto l'argomento di RunWorkerCompletedEventArgs. Comunque, grazie mille per la risposta rapida e chiara. – Smur

Problemi correlati