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
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;
}
}
jetzt noch leichter einfach den worker selber fragen ob er läuft.
if(worker.IsBusy == false)
{
worker.RunWorkerAsync();
}
else
{
worker.CancelAsync();
}
Schaue trotzdem mal hier an: [Tipp] Anfängerhinweis == true / == false
**:::
...und die asynchronen Methoden korrekt aufrufen... (async/await Pattern)
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code