Programm anhalten wenn Fenster minimiert

  • VB.NET
  • .NET 5–6

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

    Programm anhalten wenn Fenster minimiert

    Moin Gemeinde,

    gibt es eine Möglichkeit ein Programm anzuhalten wenn es minimiert wird und erst dann wieder fortzusetzen wenn das Fenster maximiert wird?
    Das minimieren der Form geschieht über einen extra Button.

    Greetings
    Hey!
    Um ein Programm anzuhalten, wenn das Fenster minimiert wird, und es erst dann wieder fortzusetzen, wenn das Fenster wieder maximiert wird, kannst du das Ereignis "Resize" der Form verwenden.

    VB.NET-Quellcode

    1. Private isMinimized As Boolean = False
    2. Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize
    3. If Me.WindowState = FormWindowState.Minimized Then
    4. isMinimized = True
    5. Threading.Thread.Sleep(1000) ' hier wird das Programm für 1 Sekunde angehalten
    6. ElseIf isMinimized Then
    7. isMinimized = False
    8. MessageBox.Show("Das Fenster wurde maximiert")
    9. End If
    10. End Sub


    Dieser Code nutzt das Ereignis "Resize" der Form, um den Status der Form zu überwachen. Wenn die Größe der Form minimiert wird, wird die Variable "isMinimized" auf "true" gesetzt und die Ausführung des Programms wird für 1 Sekunde angehalten. Wenn die Form dann wieder maximiert wird, wird die Variable "isMinimized" auf "false" gesetzt und die Ausführung des Programms wird fortgesetzt, indem eine Meldung mit dem Text "Das Fenster wurde maximiert" angezeigt wird.

    Es ist wichtig zu beachten, dass das Anhalten der Ausführung des Programms auf diese Weise zu unerwünschten Ergebnissen führen kann, wenn das Programm z.B. Dateien schreibt oder andere wichtige Aufgaben ausführt. Du solltest sicherstellen, dass diese Aufgaben vor dem Anhalten der Ausführung abgeschlossen sind, und sicherstellen, dass das Programm ordnungsgemäß wieder aufgenommen wird, wenn die Form wieder maximiert wird.
    @Gockel67 Wie willst Du denn das Programm anhalten?
    Dies sollte zuerst funktionieren.
    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!
    Was konkret bedeutet bei Deinem Programm, dass es angehalten werden soll? Welche Aktionen sollen pausiert werden?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Danke erstmal für eure Antworten.
    Ich glaub ich muss weiter ausholen.

    Ich habe zwei Formen. Form1 und Form2
    Aus Form1 wird Form2 aufgerufen.
    Auf Form2 befindet sich ein Button der die Form2 schliesst und Form1 minimiert.
    Beim maximieren der Form 1(Klick in der Taskbar) soll ein Application.Restart() erfolgen.
    Aber eben erst dann.

    Greetings

    P.S: @WhiteFox: Dein Vorschlag funktioniert so auf jeden Fall. Habs gerade ausprobiert. Vielleicht kennt ja noch jemand eine elegantere Lösung. Ansonsten werde ich diese nehmen. Danke

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gockel67“ ()

    Gockel67 schrieb:

    Ich glaub ich muss weiter ausholen.
    Was hat das mit "Anhalten" zu tun?
    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!