Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   C# EventHandler bei dynamisch erzeugten Komponenten (https://www.delphipraxis.net/104413-eventhandler-bei-dynamisch-erzeugten-komponenten.html)

Luckie 3. Dez 2007 15:31


EventHandler bei dynamisch erzeugten Komponenten
 
Wie mache ich das, wenn ich unter C# einer zur Laufzeit erzeugten Komponente einen EventHandler zuweisen will? Wo und wie muss der EventHandler deklariert sein und wie geht es dann weiter?

Insbesondere geht es mir um das Ereignis DoubleClick:
Code:
protected virtual void OnDoubleClick(
   EventArgs e
);
.

Dax 3. Dez 2007 15:35

Re: EventHandler bei dynamisch erzeugten Komponenten
 
Ganz genau wie in Delphi: schreibe eine Methode mit der passenden Signatur
Code:
protected void onDblClick(object Sender, EventArgs e) {
  // blubb
}
und weise sie der Komponente zu
Code:
component.DoubleClick += onDblClick;
Das Unterschied ist das + beim +=, denn in .net kann ein Delegat mehrere Methoden ansprechen, mit -= kannst du die eingefügten Methoden natürlich auch wieder entfernen.

Luckie 3. Dez 2007 15:46

Re: EventHandler bei dynamisch erzeugten Komponenten
 
Äh, ja. :oops: Danke.

Jelly 3. Dez 2007 16:49

Re: EventHandler bei dynamisch erzeugten Komponenten
 
Zitat:

Zitat von Luckie
:oops:

Da bin ich auch schon oft in C# gegen die Wand gefahren. Man muss halt im Hinterkopf haben, dass man in .NET Multicast Event hast, d.h. einfache Zuordnung ist nicht. Daher das +=

Den Event löschen geht entsprechend mit -=

Chemiker 3. Dez 2007 18:48

Re: EventHandler bei dynamisch erzeugten Komponenten
 
Hallo Luckie,

das gehört zwar nicht zum Beitrag, aber vielleicht kannst Du ja mit dem eBook Visual C# 2005 was anfangen?

Kalender

Bis bald Chemiker

Luckie 3. Dez 2007 18:55

Re: EventHandler bei dynamisch erzeugten Komponenten
 
Danke für den Hinweis, heute gerade runtergeladen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz