In meinem Projekt gibt es zwei Formulare: Form1 und Form2. Es gibt eine Schaltfläche in Form1, und was ich tun möchte, ist das Schließen von Form1 und das Anzeigen von Form2, wenn diese Schaltfläche geklickt hat.
Zuerst habe ich versucht
%Vor%Aber als Form1 geschlossen wurde, wurde auch Form2 geschlossen. Als nächstes habe ich versucht
%Vor%Aber es gibt einen Nachteil, dass die Anwendung nicht beendet wird, wenn das Form2 geschlossen ist. Also musste ich zusätzliche Quellen in den form_FormClosing-Abschnitt von Form2 einfügen.
Hmm .... Ich frage mich, ob das der richtige Weg ist ... Also, was ist der richtige Weg, um mit diesem Problem umzugehen?
Der automatisch generierte Code in Program.cs wurde geschrieben, um die Anwendung zu beenden, wenn das Startfenster geschlossen wird. Sie müssen es optimieren, so dass es nur beendet wird, wenn keine Fenster mehr übrig sind. So:
%Vor%Standardmäßig steuert das erste Formular die Lebensdauer einer Windows Forms-Anwendung. Wenn Sie mehrere unabhängige Windows-Formulare benötigen, sollte Ihr Anwendungskontext ein eigener Kontext sein.
%Vor%Um den Kontext zu verwenden, übergeben Sie ihn an Application.Run (anstelle des Formulars). Wenn Sie ein anderes Form1 erstellen möchten, rufen Sie MyContext.ShowForm1 () usw. auf.
%Vor%