Refered zu meinem Kommentar können Sie die Close
-Methode aufrufen und FormClosing
-event verwenden, um die anderen Formen zu schließen:
public partial class Form1 : Form
{
Form2 form2;
public Form1()
{
InitializeComponent();
FormClosing += Form1_FormClosing;
form2 = new Form2();
form2.Show();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
form2.Close();
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
}
In diesem Beispiel Form1 Ihr Mainform ist, und wenn Sie Form1 schließen, ob verwenden Sie die Close
oder indem Sie das Formular mit der Standardschaltfläche schließen, wird das Ereignis FormClosing
ausgelöst und alle anderen Formulare werden ebenfalls geschlossen.
Wenn Sie den aktuellen Prozess töten wollen, können Sie diesen Code verwenden:
Process.GetCurrentProcess().Kill();
Wenn das Hauptformular beendet wird, wird die Anwendung beendet. –
Es hängt wirklich davon ab, was Sie brauchen. Wenn Sie die Anwendung von close schließen möchten, dann müssen Sie das Ereignis "Form_Closing" auf jedem Formular abonnieren und diese Logik ausführen. –
Was ist, wenn mein Hauptformular ein Login-Formular ist, so dass Benutzer sich zuerst ausloggen und dann meine Anwendung schließen müssen? –