Event Frage (C#)
-
Hallo
Ist es möglich, daß ein Event durch einen anderes ausgelöst wird?
Mein Problem:
Ich habe 3 WindowsForms.
Durch die 1. kann die 2 aufgerufen werden und durch die 2. die 3 Form. In der 3. Form erzeuge ich ein Event, welches die 2. Form schliesst. Die 3. Form wird danach ebenfalls geschlossen. Das funktioniert soweit.
Bevor die 2. Form geschlossen wird, möchte ich ein weiteres Event erzeugen, welches ich in der 1. Form nutze um eine Aktualisierung zu machen.
Das Event aus der 3. Form wird korrekt erzeugt und in der 2. Form verarbeitet, aber in dieser Form ist mein Event null. Ich habe es identisch erstellt.public delegate void myEventHandler(); public event myEventHandler updateDT; //in Form 2 und 3 identisch //Form2 - Event von Form3 abfangen und Versuch einen neuen zu werfen private void checkList_updateDT() { if (updateDT != null) { updateDT(); } //und genau hier ist updateDT immer null this.Close(); }
Hat jemand eine Idee wie es klappen könnte? Vielleicht gibt es auch eine andere Möglichkeit.
SArkin
-
Hallo,
das klappt so schon. Wenn das Event bei Dir an dieser Stelle 'null' ist, dann *ist* es auch 'null'. D.h. Du hast ihm keinen Handler zugewiesen.
-
ja... möglich ist es, aber der stil nicht wirklich
schreibe lieber, das was in der auszlösendem event steht, in eine eigene prozedur, und führe die aus.
-
majin schrieb:
ja... möglich ist es, aber der stil nicht wirklich
schreibe lieber, das was in der auszlösendem event steht, in eine eigene prozedur, und führe die aus.Wieso? Genau für sowas sind Events doch da.
-
-
saruman@work schrieb:
Jupp, das ist natürlich die Kür. Aber es spricht trotzdem nicht gegen den klugen Einsatz eines Events statt eines Methodenaufrufs.