Wie verhindere ich, dass die App beendet wird, wenn ich das Startformular schließe?

8

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?

    
jn4kim 26.05.2012, 19:36
quelle

4 Antworten

22

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%     
Hans Passant 26.05.2012, 20:02
quelle
2

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%     
Anders Forsgren 26.05.2012 19:57
quelle
0

Sie können diesen Weg wählen:

%Vor%

Ich hoffe, es war hilfreich.

    
Shamal 26.05.2012 19:45
quelle
0

Schreiben Sie das in Ihre Methode, die ausgeführt wird, während FormClosing event auftritt.

%Vor%     
niksn 13.06.2014 07:25
quelle

Tags und Links