Urgent! comment générer le code pour un event click dans une fonction

Angelus - 12 nov. 2001 à 09:46
FredDorine Messages postés 6 Date d'inscription mercredi 6 avril 2011 Statut Membre Dernière intervention 16 décembre 2011 - 16 déc. 2011 à 14:52
bonjour

je travaille toujours sur mon calendrier, j'ai résolu les problèmes d'affichage et de recup dans la base de données mais maintenant je suis bloquée car je ne sais pas comment écrire le code correspondant à l'event click, car j'ai 42 boutons correspondant aux jours sur le calendrier et je voudrais qu'en cliquant sur un jour particulier, il y ai une form qui s'ouvre et cette form varie suivant le bouton cliqué, je ne peux pas faire une commande sur chaque bouton car le compportement du bouton change suivant le mois choisi et l'année choisie. je voulais faire un code comme ceci:
avec un index A de i boutons
for each i in A
if mafonction(k) = true then
i.click = frmssaisie.show
else
i.click = frmsaisittx.show
end if
next i

mafonction etant une fonction qui ramene des données de la base, donnant tel ou tel comportement aux boutons(chanegement de couleur) mais ca c le code du dessus..

donc si quelqu'un pouvait m'aider ca serait top

merci de vos réponses

1 réponse

FredDorine Messages postés 6 Date d'inscription mercredi 6 avril 2011 Statut Membre Dernière intervention 16 décembre 2011
16 déc. 2011 à 14:52
bonjour !

1 regrouper tes 42 contrôles dans un conteneur (group box, etc.) on l'appelera "gbx"

2 créer une collection de ces contôles qu'on appelera "colec" et qui seront numéroté de 1 à 42:
Public colec As New Microsoft.VisualBasic.Collection

3 créer un délégate pour gérer les évenements de "colec(1 à 42)
For Each colec As Control In Me.gbx.Controls : AddHandler colec.Click, AddressOf OnColec : Next

4 créer un sub pour gérer les clicks sur colec:
Public (ou private) Sub OnColec(ByVal sender As Object, ByVal e As System.EventArgs)

5 dans le sub OnColec identifier l'émeteur de l'évenement dans une variable qu'on appelera "colecsender":
colecsender=sender.tabindex / sender.tag
(ça supose que tu as préalablement affecté une valeur tabindex ou tag à chacun des 42 controles)

6 traiter l'évenement
select case colecsender
case 1
......
end select

et voilà le travail


non novae sed nova... (rien de nouveau sauf la manière)
0
Rejoignez-nous