Autor Beitrag
Macoy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Mo 27.03.06 13:22 
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.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
/// im quelltext des UserControls

public delegate void SelectionChangedEventHandler(object sender,SelectionChangedEventArgs args);
    
public event SelectionChangedEventHandler SelectionChanged;

/// an gebener stelle wird das Event abgefeuert
SelectionChanged(this,new SelectionEventArgs(x,y));


soweit wird alles kompiliert und ausgeführt

will ich allerding einen event handler dran binden:

ausblenden C#-Quelltext
1:
2:
3:
/// in der Form, der das Control hinzugefügt wird:

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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: 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:
ausblenden C#-Quelltext
1:
deinControl.SelectionChanged += OnSelectionChanged;					
Macoy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Mo 27.03.06 14:13 
Ja daran langs, der Form-Designer hats richtig eingesetzt... Wusste garnicht, das man Delegates auch ausserhalb von Klassen definieren kann. Danke! Wieder was dazugelernt:)