Interaction entre une commande et un usercontrol dans une toolbar
jp4810
Messages postés1Date d'inscriptionvendredi 12 juin 2009StatutMembreDernière intervention12 juin 2009
-
12 juin 2009 à 14:44
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
12 juin 2009 à 15:54
Salut,
Je développe depuis peu en VB.NET pour un système d'information géographique ARCGIS.
Je vous expose mon problème : j'ai créé une toolbar personnalisée avec dedans un usercontrol qui contient lui-même deux combobox.
Dans cette toolbar on trouve également une commande (simple bouton) qui peut aller modifier les valeurs d'une combobox.
Problème : dans la classe de la commande, je n'arrive pas à aller modifier la combobox car je n'arrive pas à la récupérer depuis l'usercontrol. Pourtant tout est déclaré en public...
En espérant avoir été assez clair pour que vous puissiez me répondre...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 juin 2009 à 15:54
Salut
Un UserControl (UC) ne connait que l'objet qui l'héberge.
Il ne peut pas s'adresser aux autres composants placés au même niveau que lui.
Il faut donc passer par des évènements, genre
Public WithEvents monEvènement(monTexteEventuel As String)
et quand tu as besoin que le UC renvoie des infos à la forme :
RaiseEvent monEvènement ("Salut")
Côté forme, dans le code, elle possède maintenant un évènement pour ce UC.
Elle recevra donc "Salut" quand le UC le déclenchera.
C'est à la forme de s'occuper de transmettre l'info à une de ses ComboBox, si besoin
PS : Syntaxe exemple issue de VB6 - les termes n'ont pas dû changer - voir l'aide sur ces mots clé
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)