Entwickler-Ecke
WinForms - BackgroundWorker - CancellationPending
peterbe - Di 19.08.14 20:12
Titel: BackgroundWorker - CancellationPending
hallo zusammen,
ich habe eine langes programm und möchte es jederzeit abbrechen können.
Ich habe folgende Abfrage.
C#-Quelltext
1: 2: 3: 4: 5:
| if (backgroundWorker1.CancellationPending) { backgroundWorker1.ReportProgress(0); break; } |
Nun möchte ich nicht jedes mal diese Abfage in meinem Dowork-thread haben, wegen unschön programmiert.
Kann ich die Abfrage irgendwie nach außen verlagern und durch einen Methoden-Aufruf immer wieder abfragen???
Mfg
peter
Moderiert von
Christian S.: C#-Tags hinzugefügt
Ralf Jansen - Di 19.08.14 21:03
| Zitat: |
| Nun möchte ich nicht jedes mal diese Abfage in meinem Dowork-thread haben, wegen unschön programmiert. |
Das machst du vermutlich einmal an einer Stelle in der DoWork Methode auch wenns ein 5-zeiler ist sehe ich nicht wieso das unschön sein sollte.
Was ist der Sinn von "ReportProgress(0);"?
peterbe - Mi 20.08.14 18:29
ReportProgress(0); setze den Ladebalken immer auf 0% wenn abbgebrochen wird.
Ralf Jansen - Mi 20.08.14 18:36
| Zitat: |
| ReportProgress(0); setze den Ladebalken immer auf 0% wenn abbgebrochen wird. |
Jaja Logisch ;) ... aber die eigentliche Frage wahr der Sinn dahinter. Wenn ich nach 70% einen Thread abbreche hat der für mich 70% geschafft und ist bei 70% abgebrochen worden und eben nicht bei 0%. Ich hatte die ~Angst~ das du dir selbst irgendwie denn Abbruch so signalisieren wolltest anstatt einfach in DoWork beim abbrechen Cancel in den EventArgs zu setzen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!