Bonjour,
J'ai créé des contôles dynamiquement comme ceci :
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 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);
Mais probleme lors de l'execution sur la dernière ligne => Erreur lors de la liaison avec la méthode cible.
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);
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
Partager