Warten auf 2 Backgroundworker

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Toolmaster.

    Warten auf 2 Backgroundworker

    Schönen Guten Abend,

    ich habe mal wieder eine Frage. Ich starte 2 Backgroundworker mit RunWorkerAsync(). Diese befüllen 2 Datenbanken.
    Das alles klappt auch wunderbar. Nur jetzt habe ich das Problem das auf meiner Form ein Button sitzt der auf Enabled = False steht. Erst wenn BEIDE Worker fertig sind soll der Button auf Enabled = True gesetzt werden.

    Wie warte ich auf 2 Worker? Hoffe ihr könnt mir helfen.

    Grüße TM
    Das sollte mit dieser IF abfrage erledigt sein. :D

    VB.NET-Quellcode

    1. If BackgroundWorker1.isBusy = false and BackgroundWorker2.isBusy = false then button1.enabled = true

    Grüße
    Coder9292
    ~Programmieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen. ~

    Grüße
    Coder9292
    @Toolmaster Die BGW haben ein .RunWorkerCompleted-Ereignis, das musst Du nutzen.
    Gib beiden denselben Handler und feddich:

    VB.NET-Quellcode

    1. Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted, BackgroundWorker2.RunWorkerCompleted
    2. If BackgroundWorker1.IsBusy = False AndAlso BackgroundWorker2.IsBusy = False Then
    3. Button1.Enabled = True
    4. End If
    5. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!