Heim > Backend-Entwicklung > C++ > Wie öffne ich ein neues Formular ordnungsgemäß und schließe das aktuelle Formular in C#?

Wie öffne ich ein neues Formular ordnungsgemäß und schließe das aktuelle Formular in C#?

Linda Hamilton
Freigeben: 2025-01-06 13:17:39
Original
709 Leute haben es durchsucht

How to Properly Open a New Form and Close the Current Form in C#?

So öffnen Sie ein neues Formular und schließen das aktuelle Formular in C#

Bei der Entwicklung von C#-Anwendungen kann es vorkommen, dass Sie auf Situationen stoßen, in denen dies erforderlich ist Öffnen Sie ein neues Formular über eine Schaltfläche im aktuellen Formular, schließen Sie das aktuelle Formular und konzentrieren Sie sich auf das neu geöffnete Formular. So können Sie dies erreichen:

Steves Lösung

Ein gängiger Ansatz ist die Verwendung des folgenden Codes:

private void Button1_Click(object sender, EventArgs e)
{
    var form2 = new Form2();
    form2.Show();
    this.Close();
}
Nach dem Login kopieren

Allerdings ist diese Lösung hat einen Fehler. Wenn this.Close() aufgerufen wird, werden sowohl das aktuelle Formular als auch das neu geöffnete Formular (form2) verworfen. Um dies zu verhindern, sollten Sie erwägen, das aktuelle Formular auszublenden, anstatt es zu schließen.

Korrigierte Lösung

Um ein neues Formular zu öffnen und das aktuelle Formular zu schließen, verwenden Sie Folgendes Code:

private void OnButton1Click(object sender, EventArgs e)
{
    this.Hide();
    var form2 = new Form2();
    form2.Closed += (s, args) => this.Close();
    form2.Show();
}
Nach dem Login kopieren

In dieser korrigierten Lösung:

  • this.Hide() verbirgt den Strom form.
  • Eine neue Form2-Instanz (form2) wird erstellt und angezeigt.
  • Ein Ereignishandler wird dem Closed-Ereignis von form2 hinzugefügt. Dieser Ereignishandler ruft this.Close() auf, wenn form2 geschlossen wird, und stellt so sicher, dass das aktuelle Formular erst geschlossen wird, nachdem das neue Formular geschlossen wurde.

Dieser Ansatz stellt sicher, dass das neue Formular (Form2) geöffnet ist und fokussiert, während das aktuelle Formular (Form1) ausgeblendet und anschließend geschlossen wird.

Das obige ist der detaillierte Inhalt vonWie öffne ich ein neues Formular ordnungsgemäß und schließe das aktuelle Formular in C#?. 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