Heim >Backend-Entwicklung >C++ >Wie hält ich eine Windows -Desktop -Anwendung nach dem Schließen des Hauptformulars aus?

Wie hält ich eine Windows -Desktop -Anwendung nach dem Schließen des Hauptformulars aus?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-29 10:26:38150Durchsuche

How to Keep a Windows Desktop Application Running After Closing the Main Form?

Halten Sie Ihre Windows -Desktop -App nach dem Schließen des anfänglichen Formulars

ausgeführt.

Hide()

Viele Windows -Desktop -Anwendungen erfordern einen fortgesetzten Betrieb, auch nach der Schließung des Startformulars (Start). Das Startformular einfach mit der

-Methode zu verbergen ist nicht ideal, da die Anwendung auch bei allen Formen aktiv bleibt. Program.cs

Eine elegantere Lösung besteht darin, den Einstiegspunkt der Anwendung in
    anzupassen. Das Standardverhalten beendet die Anwendung automatisch, wenn das Hauptformular schließt. Hier erfahren Sie, wie Sie das ändern können:
  1. FormClosed Fügen Sie einen formulierten Ereignishandler an:
  2. Fügen Sie dem Ereignisveranstalter einen Ereignishandler zum
  3. Ereignis Ihres Hauptformulars hinzu. Application.OpenForms.Count Offene Formulare verwalten: Application.ExitThread() Entfernen Sie den Handler im Ereignishandler aus dem geschlossenen Formular. Überprüfen Sie dann die Anzahl der geöffneten Formulare mit
  4. . Wenn keine Formulare geöffnet sind, beenden Sie die Anwendung mit
anmutig. Andernfalls fügen Sie den Event -Handler an das nächste offene Formular hinzu.

Program.cs

Hier ist der modifizierte
<code class="language-csharp">    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        var main = new Form1();
        main.FormClosed += FormClosed; // Attach the event handler
        main.Show();
        Application.Run();
    }

    static void FormClosed(object sender, FormClosedEventArgs e) {
        ((Form)sender).FormClosed -= FormClosed; // Detach from closed form
        if (Application.OpenForms.Count == 0) Application.ExitThread(); // Exit if no forms remain
        else Application.OpenForms[0].FormClosed += FormClosed; // Attach to the next form
    }</code>
Code:

Dieser raffinierte Ansatz stellt sicher, dass Ihre Anwendung nach dem Schließen des Anfangsformulars wie erwartet fortgesetzt wird, ein glatteres und kontrollierteres Benutzererlebnis bietet und nur dann aufmerksam ist, wenn alle Formulare geschlossen sind.

Das obige ist der detaillierte Inhalt vonWie hält ich eine Windows -Desktop -Anwendung nach dem Schließen des Hauptformulars aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn