Bonjour,
J'ai créé des contôles dynamiquement comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
System.Reflection.Assembly asm;
asm = typeof(Form).Assembly;
Control ctrl;
ctrl = (System.Windows.Forms.Control)asm.CreateInstance("System.Windows.Forms." + typeCtrl);
this.myForm.Controls.Add(ctrl);
Je voudrais maintenant pouvoir gérer des événements sur ces contrôles, je fais donc ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Type t_ctrl =ctrl.GetType();
EventInfo evClick = t_ctrl.GetEvent("Click");
Type tDelegate = evClick.EventHandlerType;
MethodInfo miHandler = typeof(Projet_parserXML.Form1).GetMethod("Click_Button",
                                                BindingFlags.NonPublic | BindingFlags.Instance);
Delegate d = Delegate.CreateDelegate(tDelegate,ctrl,miHandler);
Mais probleme lors de l'execution sur la dernière ligne => Erreur lors de la liaison avec la méthode cible.
Alors que lorsque je remplace ctrl par myForm dans la dernière ligne tout fonctionne ... lorsque je click sur la form l'evenement se déclenche !!! Alors pourquoi est ce que cela marche pour la form et pas pour le control ???

Merci, J@ckHerror