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
Freigeben: 2025-01-29 10:26:38
Original
149 Leute haben es durchsucht

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>
Nach dem Login kopieren
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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage