Heim >Backend-Entwicklung >C++ >Wie kann ich nach dem Schließen des Startformulars eine Windows -Formulationsanwendung ausgeführt?
beendet In Abwesenheit mehrerer Fenster wird das Startfenster (Form1) geschlossen, wenn ein anderes Fenster (Form2) angezeigt wird. Ziel ist es, die Anwendung auch nach dem Schließen von Form1 zu halten.
Antwort:
Das Problem ist das Standardverhalten des Hauptanwendungs -Threads. Um dieses Problem zu lösen:
Ändern Sie den Code in Programm.cs, um das Schließereignis des Fensters zu überwachen:
<code class="language-csharp">[STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var main = new Form1(); main.FormClosed += new FormClosedEventHandler(FormClosed); main.Show(); Application.Run(); }</code>
<code class="language-csharp">static void FormClosed(object sender, FormClosedEventArgs e) { ((Form)sender).FormClosed -= FormClosed; if (Application.OpenForms.Count == 0) Application.ExitThread(); else Application.OpenForms[0].FormClosed += FormClosed; }</code>Beim Schließen von Form1 wird das Formular zur Verarbeitung von Formularverarbeitungen entfernt und das Ereignis mit dem nächsten geöffneten Fenster angeschlossen.
Wenn keine offenen Fenster mehr vorhanden sind, wird die Anwendung beendet.
Das obige ist der detaillierte Inhalt vonWie kann ich nach dem Schließen des Startformulars eine Windows -Formulationsanwendung ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!