Macoy - Mo 27.03.06 13:22
Titel: Events - Delegates Verwirrung
Hallo, ich habe ein eigenes Control entwickelt, das man zur Auswahl eines bestimmten intervalls in einem signalverlauf verwenden kann.
Nun sollte, wie in jedem richtigen Control, ein Event abgefeuert werden, wenn sich die Auswahl ändert.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| public delegate void SelectionChangedEventHandler(object sender,SelectionChangedEventArgs args); public event SelectionChangedEventHandler SelectionChanged;
SelectionChanged(this,new SelectionEventArgs(x,y)); |
soweit wird alles kompiliert und ausgeführt
will ich allerding einen event handler dran binden:
C#-Quelltext
1: 2: 3:
| sigSelPanel.SelectionChanged += new SelectionChangedEventHandler( OnSelectionChanged ); |
da gibts nen compilerfehler: 'SelectionChangedEventHandler' Type or Namespace not found. Obwohl beide Klassen im selben Namespace sind und das delegate public ist ... woran kann das liegen oder geh die die Event-Sache gänzlich falsch an ?
Vielen Dank für jedwede Hilfe,
Robert_G - Mo 27.03.06 13:29
Du hast den Handler ganz sicher
innerhalb deiner Klasse definiert.
Somit wäre der korrekte Name um außerhalb deiner Klasse daruf zugreifen zu können:
deinControl.SelectionChanged += new DeineKlasse.SelectionChangedEventHandler(OnSelectionChanged); oder du lässt einfach den Compiler autom. den richtigen Delegate typen finden:
C#-Quelltext
1:
| deinControl.SelectionChanged += OnSelectionChanged; |