IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Evenements de controles ajoutés Dynamiquement


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Evenements de controles ajoutés Dynamiquement
    Bonjour a tous

    Sur une feuille j'ajoute dynamiquement des LinkLabel issue d'un tableau : ma declaration est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Mylink(3) as LinkLabel
    je fais une boucle qui m'ajoute les liens sur ma feuille tout marche. je veux intercepter l'evenment sur click. J'ai trouvé sur ce site une tres bonne resolution mais elle ne marche que pour un seul lien or moi je gere des liens donc j'ai un probleme pour l'index du lien clické. J'ai essauyé d'utiliser ceci
    Un bouton une fois Clické cree mes liens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
      Public MyLink(3)  As LinkLabel
      Public i as Integer
    Private Sub CreateLink_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CreateLink.Click
     
      Dim Mytext (3) As String
     
     
      Mytext(0) = " LIEN1 XXXXXXXXX "
      Mytext(1) = " LIEN2 XXXXXXXXX "
      Mytext(2) = " LIEN3 XXXXXXXXX "
     
        For i = 0 To 2
         MyLink(i)= New LinkLabel()
         MyLink(i).Text = Mytext(i)
     
     'je place le lien sur la feuille avec MyLink.Location    
     ;
     ;
        ' J'attache le lien a la Fonction de l'evenment
     
         AddHandler MyLink(i).LinkClicked, AddressOf MyLinkLbl_LinkClicked
     
     
      Next i
    End Sub
     
    Private Sub MyLinkLbl_LinkClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.LinkLabelLinckClickedEventArgs)
     
    ' La je fais un Break point pour intercepter l'evenment ca marche 
    'mais je n'ai pas l'index du lien clické , ni aucune autre info or j'ai besoin de L'index du lien visité pour le reste du traitement
    End Sub
    Voila je ne sais pas si c'est la bonne methode ou pas ,, j'espere trouver de l'aide

    Merci a Tous

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Bonjours,
    Voila une méthode que j'utilise (pour des boutons)
    mais même principe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For i = 0 To 2
         MyLink(i)= New LinkLabel()
         MyLink(i).Text = Mytext(i)
         .Name = i.ToString
    
    Private Sub MyLinkLbl_LinkClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.LinkLabelLinckClickedEventArgs)
      
       Dim sMylink As LinkLabel = DirectCast(sender, LinkLabel)
        Dim Index As Integer = CInt((sMylink.Name))
    et tu as ton index
    End Sub

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Tropic Voir le message
    Bonjours,
    Voila une méthode que j'utilise (pour des boutons)
    mais même principe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For i = 0 To 2
         MyLink(i)= New LinkLabel()
         MyLink(i).Text = Mytext(i)
         .Name = i.ToString
    
    Private Sub MyLinkLbl_LinkClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.LinkLabelLinckClickedEventArgs)
      
       Dim sMylink As LinkLabel = DirectCast(sender, LinkLabel)
        Dim Index As Integer = CInt((sMylink.Name))
    et tu as ton index
    End Sub

    Bonjour Tropic
    Merci pour ta réponse ,, elle se rqpproche de solution que j'qi trouvé... Apres avoir essayé presque toutes les proprietés des controls . j'ai decouvert que lq proprieté IndexOf donne le n° du control dans le formulaire ( son index dans l'ordre de creation )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    dim i as Integer
    i = Me.Controls.IndexOf( sender )
     ............
    ............ Traitement
    Ceci suppose qu'on doit connaitre tout les control qu'on a creer ,,leur ordre etc...
    En cherchant plus j'ai decouvert une proprieté de sender qui n'apparait pas a l'intelliSence : c'ets .Name qui donne le nont du control donné lors de sa creation : Plus parlant pour un traitement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Dim CtlName as String
     
          CtlName = sender.name
     
    ....
    ' Traitement
    Voila ca me va bien du coup j'ai reduit mon code a un Seul Evenement pour mes boutons , mes liens et mes images sur une Feuille

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Evenements de control crée dynamiquement depuis un evenement
    Par Will421 dans le forum ASP.NET Ajax
    Réponses: 2
    Dernier message: 20/04/2012, 16h28
  2. persistance controles ajoutes dynamiquement
    Par eddymercury dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/07/2011, 16h21
  3. Evenement sur controls ajouter dynamiquement
    Par TheBlackReverand dans le forum ASP.NET
    Réponses: 0
    Dernier message: 11/02/2009, 12h54
  4. [Userform] Attribuer un évènement a un control ajouter dynamiquement
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 18/06/2008, 12h11
  5. Evenement avec control créé dynamiquement
    Par BoyzInDaProject dans le forum MFC
    Réponses: 2
    Dernier message: 01/05/2007, 00h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo