Heim >Backend-Entwicklung >C++ >Wie kann ich beim Schließen des Startformulars die Anwendungsschließung verhindern?
Wie kann die Anwendung das Startfenster schließen?
Bei mehreren Fenstern in der Anwendung kann die Anwendung eine Herausforderung sein, wenn die Anwendung endet, wenn das Startfenster geschlossen ist. In diesem Artikel wird der richtige Weg erörtert, um mit dieser Situation umzugehen.
vorläufiger Versuch
Zunächst können Sie versuchen, den folgenden Code zum Abschluss von Form1 zu verwenden und Formular 2: anzeigen
Wenn Form1 jedoch geschlossen ist, wird das Form2 geschlossen. Um dieses Problem zu überwinden, können Sie versuchen, Form1 zu verbergen, anstatt es zu schließen:
<code class="language-c#">Form2 frm = new Form2(); frm.Show(); this.Close();</code>Obwohl dies verhindern kann, dass Form2 geschlossen wird, erzeugt es einen neuen Nachteil: Wenn Form2 ausgeschaltet ist, wird die Anwendung nicht beendet.
Lösung
<code class="language-c#">Form2 frm = new Form2(); frm.Show(); this.Hide();</code>
Um diese beiden Probleme zu lösen, besteht die Lösung darin, den Code in der Datei Programm.cs zu ändern, die die Anwendung der Anwendung in dieser Datei definiert. Durch Anpassen dieses Code können Sie die Anwendungsbeendigung verhindern, wenn Sie das Startfenster schließen.
Fügen Sie im folgenden geänderten Code das Ereignisverarbeitungsprogramm zum Startfenster hinzu, um das Schließereignis zu überwachen:
Wenn das Startfenster ausgeschaltet ist, wird das formclosedClosed -Ereignisverarbeitungsprogramm ausgelöst:
Diese Vorfallverarbeitung stellt sicher, dass die Anwendung nur dann beendet wird, wenn keine anderen Fenster vorhanden sind. Wenn das Fenster außerhalb des Startfensters geschlossen ist, aktualisiert das Ereignisverarbeitungsprogramm den Ereignishörer, um die Schließung des nächsten geöffneten Fensters zu überwachen.
<code class="language-c#"> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var main = new Form1(); main.FormClosed += new FormClosedEventHandler(FormClosed); main.Show(); Application.Run(); }</code>
Durch die Implementierung dieser Lösung können Sie jetzt das Startfenster schließen, ohne die Anwendung zu beenden, sodass andere Fenster den Aktivitätsstatus beibehalten und die Anwendung wie erwartet ausgeführt werden können.
Das obige ist der detaillierte Inhalt vonWie kann ich beim Schließen des Startformulars die Anwendungsschließung verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!