c# wenn form geschlossen wird event?
ich will das beim schließen von form1 eine Methode aufgerufen wird von form2
vllt so:
form1.Onclose += mein Event...
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, C Sharp
Die Klasse Form1 benötigt eine Referenz auf die Instanz von Form2, die ihre Methode ausführen soll oder andersherum. Danach ist die Vorgehensweise egal.
Beispiel:
// if inside Form1
FormClosed += form2.HandleForm1Close;
// if inside Form2
form1.FormClosed += HandleForm1Close;
Dafür muss Form2 einen Event Handler mit passender Signatur definieren:
public void HandleForm1Close(object sender, FormClosedEventArgs e)
{
// do something ...
}
Das kann man auch noch abkürzen:
// if inside Form1
FormClosed += (sender, e) => form2.DoSomething();
// if inside Form2
form1.FormClosed += (sender, e) => DoSomething();
DoSomething ist dabei eine Methode in Form2, die die Tätigkeit durchführt, die du durchführen lassen möchtest.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren
private void Form1_FormClosed(Object sender, FormClosedEventArgs e) {
//Dein Event
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "CloseReason", e.CloseReason );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "FormClosed Event" );
}
???
Woher ich das weiß:Studium / Ausbildung – Informatikstudent
Ich meinte: wenn form1 geschlossen wird. eine Methode aufgerufen wird. in form2