Hallo Community,
Eigenen Event definieren
Immer wieder taucht die Frage auf, wie man einen eigenen Event definiert. Diese ist in Form von Codebeispielen in
[Lösung] Problem mit EventHandler beantwortet.
Information zu Events
Hintergrundlektüre bietet das Galileo Openbook Visual C# 2008 u.a. in diesen Kapiteln/Abschnitten:
4.5 Ereignisse eines Objekts
13.4 Ereignisse grafischer Windows-Komponenten
13.7 Ereignisse einer Form
14.1.11 Tastatur- und Mausereignisse
15 Tastatur- und Mausereignisse
Events und Multithreading
Häufig ist nicht ausreichend bewusst, dass EventHandler ohne weiteres Zutun immer in dem Thread laufen, der den Event gefeuert hat. In welchem Thread der EventHandler registriert wurde, spielt überhaupt keine Rolle.
Häufige Fehler
Problem: EventHandler wird nicht aufgerufen
Ursache: EventHandler wurde nicht registriert oder das Event wurde nicht ausgelöst
Problem: EventHandler wird mehrfach direkt nacheinander aufgerufen
Ursache: EventHandler wurde mehrfach registriert (durch mehrere Codestellen oder durch eine Codestelle, die mehrfach ausgeführt wurde)
Siehe auch
[FAQ] Event nur bei Benutzeraktion auslösen, nicht bei programmtechnischer Änderung
best practise: Event einer aggregierten Klasse weiterleiten
herbivore