Programmation d'évenement pour un groupe de label créer dynamiquement

Programmation d'évenement pour un groupe de label créer dynamiquement - VB/VBA/VBS - Programmation

Marsh Posté le 10-09-2007 à 20:37:30    

Bonjour à Tous !!
 
Voila, je suis confronté à un petit problème.
 
J'ai 360 label à créer (un tableau stocke déja leur Text, et Location).
Il s'agit en faites de communes à placer sur une carte (image de fond).
 
J'ai pu créer les labels, et les placer comme il faut, et il sont dans la List(Of Label) nommée Communes.
Mon probléme, est que je voudrai pouvoir détecter l'évenement lorsqu'on clique sur l'un des labels pour déclancher une procédure.
 
Je vois comment faire avec 1 label : Public WithEvents commune1 as New label. ...
 
Mais comment faire pour que ca le fasse pour les 360... enfin, tout le groupe de la liste.
 
A la fin, j'aimerai pourvoir faire :  
 
 Private Sub communes_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles communes.click
  msgbox("Click sur un label COMMUNE détecté !" )
 End Sub
 
Voila, merci pour votre aide ... !
Si je ne suis pas assé précis, dite le moi. Merci !


Message édité par ofnipus le 11-09-2007 à 12:33:29
Reply

Marsh Posté le 10-09-2007 à 20:37:30   

Reply

Marsh Posté le 10-09-2007 à 22:25:54    

Si je pouvais renomer le topic, ca serai plutôt :
"Programmation d'évenement pour un groupe de label créer dynamiquement".
 
Merci par avance pour votre aide.

Reply

Marsh Posté le 11-09-2007 à 12:32:09    

Tu peux le renommer en éditant ton premier post ;)


---------------
Ch'titeS venteS ! ~ "S'il n'y a pas de solution, c'est qu'il n'y a pas de probleme" Devise ShadokS.
Reply

Marsh Posté le 11-09-2007 à 12:34:17    

Merci :), ca me fait penser que j'ai oublie de mettre la réponse que j'ai trouvé ...

Reply

Marsh Posté le 11-09-2007 à 12:38:06    

Voici la réponse tent attendu lol :
 
     For i = 0 To 360
 
                Dim com As New Label
                com.Name = "com" & i
                com.Text = "Text"
                com.Location = New Point(50 * i , 50 * i)
 
                'Ajout du control sur le panel
                pn_map.Controls.Add(com)
 
                'Liéer l'évenement à la procédure
                AddHandler com.Click, AddressOf select_commune
 
        Next
 
    Private Sub select_commune(ByVal sender As Object, ByVal e As EventArgs)
        Dim com As Label = sender
 
        MsgBox(com.Name)
 
    End Sub
 
Voila, si vous avez une autre suggestion, je suis ouvert !
A++

Reply

Marsh Posté le 11-09-2007 à 15:17:58    

D'où sort la procédure « AddHandler » ?
edit: j'ai trouvé de la doc sur MSDN mais pas dans l'aide en ligne (?)
C'est du VB.NET ?


Message édité par tegu le 11-09-2007 à 15:20:39
Reply

Marsh Posté le 11-09-2007 à 15:58:50    

C'est bien du VB.net, oui, mais d'où il sort ... ba, j'lai trouvé sur le net lol. Je peux pas t'en dire plus, mis à part que ca marche :-)

Reply

Marsh Posté le 11-09-2007 à 16:42:51    

Tu aurais dit dès le début que tu travaillais en VB.NET ça aurait été mieux.
VBA, VBS et même VB6 n'ont rien à voir avec VB.NET.

Reply

Marsh Posté le 11-09-2007 à 16:44:42    

oups, désolé

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed