Nehmen wir also an, ich habe auf eine Schaltfläche geklickt, die ein neues Formular öffnen und das aktuelle Formular schließen soll.
private void button1_Click(object sender, EventArgs e)
{
this.Close();
Form2 AFormInstance = new Form2();
AFormInstance.Show();
}
Ich habe es versucht this.Close()
Aber was am Ende geschah, waren beide Formen geschlossen. Wie öffne ich mich? Form2
und schließen Form1
?
Antworten:
0 für die Antwort № 1Wenn das übergeordnete Element von Button1 Form1 ist, können Sie Folgendes verwenden:
var formToBeClosed = ((sender as Button).Parent) as Form;
formToBeClosed.Close();
-2 für die Antwort № 2
Wechseln Sie einfach ein paar Zeilen:
private void button1_Click(object sender, EventArgs e)
{
Form2 AFormInstance = new Form2();
AFormInstance.Show();
this.Close();
}
Edit: Nach weiteren Überlegungen: Schließen Sie nicht versehentlich Ihr Hauptformular?
Ändern Sie den Standardcode von program.cs in:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
form1.Show();
Application.Run();
}
Um die Anwendung zu schließen, verwenden Sie:
Application.Exit();