Laden...

EventHandler wird nicht aufgerufen

Erstellt von MonkeyT vor 12 Jahren Letzter Beitrag vor 12 Jahren 907 Views
Thema geschlossen
M
MonkeyT Themenstarter:in
7 Beiträge seit 2011
vor 12 Jahren
EventHandler wird nicht aufgerufen

Hallo!

Also ich habe die Suchfunktin benutzt. Doch komme nicht weiter.
Es geht um Kommunikation zwischen Form1 und Form2. Genau von Form2 -> Form1.
Also, indirekt über Events:

In Form1:


private void button1_Click(object sender, EventArgs e)
{
  Form2 frm = new Form2();
  frm.Show();
}

private void Form2_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
  Console.WriteLine("Jau");
}

Ich habe Form2_Closing und frm_Closing versucht...
Aber die Methode wird nie aufgerufen, wieso? Muss in Form2 noch was gemacht werden damit es das Event feuert?

grz
Monkey

M
402 Beiträge seit 2005
vor 12 Jahren

Hi...

sag mal hast du die Code-Schnippsel irgendwo aus dem Internet kopiert?

Events ist der richtige Ansatz.

Form hat 2 Events die du vewenden kannst:

  • FormClosed
  • FormClosing

Diese werden immer gefeuert.
Damit du aber darauf reagieren kannst musst du
sie natürlich auch abonnieren.


Form2 frm = new Form2();
frm.FormClosing += new FormClosingEventHandler(frm_FormClosing);
frm.Show();

M
MonkeyT Themenstarter:in
7 Beiträge seit 2011
vor 12 Jahren

Jawoll danke, damit habe ich es geschafft...
Ne die Schnippsel habe ich selber zu Verantworten 😃

So funktionierts (alles in Form1)


private void button3_Click(object sender, EventArgs e)
{
  Form2 frm = new Form2();
  frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
  frm.Show();
}

void frm_FormClosed(object sender, FormClosedEventArgs e)
{
  Console.WriteLine("Form2 wurde geschlossen!");
}
G
538 Beiträge seit 2008
vor 12 Jahren

Nur mal so als Hinweis:

C# als Sprache arbeitet nicht mit Namenskonventionen, um Events zu binden - das musst du also schon mitteilen.
Im Normalfall (also für die Events die du per Doppelklick aus VisualStudio erzeugst) werden die Event-Abonements in der Form.Designer.cs abgelegt.

Vielleicht solltest du auch die Grundlagen-Bücher lesen: 🛈 📗

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

Hinweis von MarsStein vor 12 Jahren

Bitte beachte auch [Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1
Über die Forensuche oder einen Blick in die FAQ hättest Du auch auf jeden Fall [FAQ] Eigenen Event definieren / Information zu Events finden sollen.

Thema geschlossen