Wenn Backgroundworker läuft Programm sperren

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Wenn Backgroundworker läuft Programm sperren

    Hallo Miteinander,

    Ich hätte gerne, das man im Form nichts drücken kann währendem der Backgroundworker läuft (wichtig nur in dem Form indem de BGW arbeitet)

    Hier soll das klicken gesperrt werden:

    VB.NET-Quellcode

    1. Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
    2. End Sub



    und hier soll die Sperrung wieder aufgehoben werden:

    VB.NET-Quellcode

    1. Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
    2. End Sub



    Freundliche Grüsse
    Hallo, Danke für die Antworten,

    Ich hab noch ein kleines Problem.

    Bei dieser Variante:

    VB.NET-Quellcode

    1. me.enabled = false
    2. 'und
    3. me.enabled = true


    erfolgt folgende Meldung:

    Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement anlagen_uebersicht erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
    @schnibli
    Versuche es mal mit "Invoke"!

    VB.NET-Quellcode

    1. Me.Invoke(New ThreadStart(AddressOf MeDisable))
    2. 'Dann neues Sub:
    3. Private Sub MeDisable()
    4. Me.Enabled = True 'bzw. False
    5. End Sub


    Irgendwie so war die Syntax, glaub ich. Schau mal lieber nochmal bei MSDN.