EventHandler [Résolu]

Messages postés
43
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
4 mars 2011
- - Dernière réponse : cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
- 17 mars 2008 à 11:36
Voici comment créer un événement (juste un exemple) :

this.monobjet.monevenement +=
new System.
EventHandler(
this.mafonction);Or je voudrais pouvoir créer l'événement sur 
"
this.monobjet.monevenement" par une variable de type string contenant l'object et l'événement à associer à "this.mafonction
".

Une idée ...
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
38
3
Merci
Dans ce cas, il va falloir que tu te tournes du côté de la reflexion, c'est un vaste sujet...
Pour ce qui est de créer le control dynamiquement par exemple, tu peux utiliser Activator.CreateInstance
http://msdn2.microsoft.com/en-us/library/system.activator.createinstance.aspx

<hr />
-My Blog-

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 140 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
38
0
Merci
Salut,
Tu pourrais être plus clair? Car là, "on" comprend pas trop ce que tu veux!

<hr />
-My Blog-
Commenter la réponse de cs_Bidou
Messages postés
43
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
4 mars 2011
0
Merci
Explication :

Je dois créer plusieurs nouveaux controls de type TextBox, Boutton, ... dans une Form.
Tous ces controls sont définis dans un fichier par leurs noms, leurs types et également le nom de l'événement "Click, ...".
Au démarrage de mon programme, je doit lire le fichier puis créer ces controls sur la Form.

Question :

1 Comment céer un control avec son nom et son type ?

2 Comment associer une fonction à un événement de contrôle ?

Pour résumer, je vourais pouvoir faire du style :

NomControl= "TextBox1"
TypeControl="System.Windows.Form.TextBox"
NomEvenement="Click"

ctrl= CreateObjectByNameType (TypeControl, NomControl);
ctrl.GetEvtByName(NomEvenement) + = new System.EventHandler(mafonction);
Commenter la réponse de bmouget
Messages postés
43
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
4 mars 2011
0
Merci
Pour créer le control, ok merci ça fonctionne :

Type myType =
Type.GetType(
"System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");

Control obj = (
Control)
Activator.CreateInstance(myType);obj.Name =

"test1";
obj.Text =
"test";

this.Controls.Add(obj);

Reste maintenant le probléme de l'événement, comment puis-je faire ?
Commenter la réponse de bmouget
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
38
0
Merci
Je te l'ai expliqué plus haut, Reflection est un vaste domaine...
A toi de chercher dans la doc, je ne peux pas te donner une réponse toute faite pour ça.

<hr />
-My Blog-
Commenter la réponse de cs_Bidou