C# Form schliessen aber Anwendung läuft weiter....

... komplette Frage anzeigen

3 Antworten

Wieso schließt du das Anmeldefenster nciht einfach, nach der (erfolgreichen) Anmeldung? Dann ists schon lange weg, wenn das Hauptprogrammfenster geschlossen wird und blockiert dein Programm auch nicht mehr.

Antwort bewerten Vielen Dank für Deine Bewertung

Lösungswege:

1) Schließe das Login-Fenster mittels this.Close(); anstatt this.Hide();

2) Merke dir das Login-Fenster, indem du dem Hauptfenster einen Zeiger übergibst und schließe das Form, bevor du das Hauptform schließt. Wie? Ändere den Konstruktor deines Hauptforms wie folgt (Bezeichnung des Forms entsprechend anpassen):

private FormLogin m_frmLogin = null;

public FormHaupt(FormLogin frmLogin)
{
    InitializeComponent();
    m_frmLogin = frmLogin;
}

private void FormHaupt_FormClosing(object sender, FormClosingEventArgs e)
{
    If(m_frmLogin != null)
       m_frmLogin.Close();
}

Den Aufruf des Hauptforms änderst du so, dass in der Klammer ein "this" als Parameter steht. Beispiel:

FormHaupt frm = new FormHaupt(this);
frm.Show();
this.Hide();
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Toraka
19.11.2012, 23:45

Eine Rückmeldung wäre schön! Ob du es einwandfrei übernehmen konntest, und ob es funktionierte.

0

undgetestet... fang das Close-Event des Hauptfensters in der Anwendung ab, in der es erstellt wird ab und schließe dort die Anwendung, also in der Art: hauptfenster.Close+= delegate...

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Gorwar
01.11.2012, 19:10

wie kann man Close-Event des Hauptfensters abfangen?

0

Was möchtest Du wissen?