Plusieurs Combobox dans plusieurs panel évènemet

Résolu
Labon90 Messages postés 17 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 16 septembre 2011 - 4 août 2011 à 17:23
 Utilisateur anonyme - 5 août 2011 à 19:11
Bonjour à tous,

J'ai une Form avec 35 Panel contenant chacun un label et un combobox. Je les ai remplit comme ceci:


Do While SQLReader.Read
tempPnl = CType(Controls("Panel" & i), Panel)
tempLbl = CType(tempPnl.Controls("lblDate" & i), Label)
tempCbox = CType(tempPnl.Controls("cboxHor" & i), ComboBox)

tempLbl.Text = SQLReader.GetDateTime(0).Day
tempCbox.Text = SQLReader.GetString(1)
loop

J'aimerais savoir comment créer un évenement récupérant le texte du cbox et du label du Panel de n'importequel des 35 cbox qui a eu un changement de sélection sans avoir à créer 35 cboxHori.selectionCahnge....

Pouvez-vous m'aider s.v.p.?

Merci!

5 réponses

Utilisateur anonyme
4 août 2011 à 21:02
Bonsoir,

Si ces contrôles sont créés dynamiquement tu peux t'abonner à un événement à l'aide de l'instruction AddHandler.
Par contre, si tu as créé tes contrôles graphiquement, il te suffit de rajouter l'instruction Handles nomcontole.evenement, autrecontrole.evenement, ....
à la fin d'une sub chargée de gérer tes événements.

Bonne soirée.
3
Labon90 Messages postés 17 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 16 septembre 2011
5 août 2011 à 13:39
Merci beaucoup banana32! Ça me sauve beaucoup de temps!!!!
0
Labon90 Messages postés 17 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 16 septembre 2011
5 août 2011 à 13:45
une dernière question si tu veux bien m'aider.... Comment je fais pour savoir lequel des controles a été déclenché?
0
Labon90 Messages postés 17 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 16 septembre 2011
5 août 2011 à 14:25
Merci c'est ok je l'ai.... tempCbox = sender
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
5 août 2011 à 19:11
Petite remarque :
Si tu définit Option Strict On dans ton projet, avec tempCbox = sender , tu aura une erreur de liaison tardive.
Tu dois obligatoirement caster ton contrôle dans le bon type :
dim tempCbox as combobox = DirectCast(sender, combobox)

Et ainsi avoir accès aux propriétés, méthodes etc, du combobox qui à provoqué l'événement.
Au passage, tu constatera que l'intellisense de Visual Studio ne propose aucune de ces propriétés, méthodes etc sur l'objet sender.
Bonne soirée.
0
Rejoignez-nous