Backgroundworker

27/03/2008 - 21:07 von Brian Schmalisch | Report spam
Hallo,

ich benutze in einer Komponente einen Backgroundworker. Die Komponente ist
in einem Fenster eingebettet und wenn das Fenster geschlossen wird, dann
soll auch der BW aufhören zu arbeiten. Mir ist jedoch jetzt aufgefallen,
dass der BW weiter arbeitet.

Wie kann ich den BW beenden?

Ich habe folgendes gemacht:
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
ProgEnde();
bw.Dispose();
bw = null;
base.Dispose(disposing);
}
Hilft aber scheinbar nicht.

Brian
 

Lesen sie die antworten

#1 Frank Dzaebel
27/03/2008 - 21:35 | Warnen spam
Hallo Brian,

ich benutze in einer Komponente einen Backgroundworker. Die Komponente ist
in einem Fenster eingebettet und wenn das Fenster geschlossen wird, dann
soll auch der BW aufhören zu arbeiten. Mir ist jedoch jetzt aufgefallen,
dass der BW weiter arbeitet. Wie kann ich den BW beenden?



Zum Beispiel sauber über:

worker.CancellationPending
backgroundWorker1.WorkerSupportsCancellation = true; ...
backgroundWorker1.CancelAsync();

[Gewusst wie: Implementieren eines Formulars, das eine Hintergrundoperation
verwendet]
http://msdn2.microsoft.com/de-de/library/waw3xexc(VS.80).aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen