Laden...

BackgroundWorker starten und stoppen auf einem (!) Button

Erstellt von ado683 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.038 Views
A
ado683 Themenstarter:in
27 Beiträge seit 2019
vor 5 Jahren
BackgroundWorker starten und stoppen auf einem (!) Button

Hallo zusammen,

ich möchte gerne den BackgroundWorker auf ein und demselben Button starten und stoppen können.
Auf verschiedenen kriege ich es hin aber habt ihr auch eine Idee wie ich es auf einem stoppen kann.
Ich wollte es zb über einen Counter machen.

Aber mein Ausbilder meinte, dass man es zwar so machen kann. Jedoch nicht sauber programmiert ist
wenn der counter nur dafür ist.

Ne andere Lösung kann ich aber nicht verbinden. also verbinden mit meinen gedanken, denn ideen habe ich aber die umsetzung...

weil wenn man ja auf den button klickt ist er ja gecheckt oder geklickt. das vielleicht iwie kombinieren.

thx

A
ado683 Themenstarter:in
27 Beiträge seit 2019
vor 5 Jahren

habs mit nem boolan gelöst danke trotzdem aber falls es einer mal braucht:


bool running = false;

private void buttonRunBW_Click(object sender, RoutedEventArgs e)
        {
            if(running == false)
            {
                worker.RunWorkerAsync();
                running = true;
            }
            else
            {
                worker.CancelAsync();
                running = false;
            }
               
        }

A
ado683 Themenstarter:in
27 Beiträge seit 2019
vor 5 Jahren

jetzt noch leichter einfach den worker selber fragen ob er läuft.


if(worker.IsBusy == false)
            {
                worker.RunWorkerAsync();
                
            }
            else
            {
                worker.CancelAsync();
                
            }
1.696 Beiträge seit 2006
vor 5 Jahren

Schaue trotzdem mal hier an: [Tipp] Anfängerhinweis == true / == false

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

16.806 Beiträge seit 2008
vor 5 Jahren

...und die asynchronen Methoden korrekt aufrufen... (async/await Pattern)