VB.Net - Récupéré le composant appelant un event

Résolu
Bonjour,

Pour mon projet, j'ai un tableau de 5 controle (picturebox) et j'ajoute un evenement sur chacun comme ça :

        For i = 0 To 5

AddHandler montab(i).MouseHover, AddressOf changement_curseur
Next

Mais dans la fonction changement_curseur, je ne trouve pas comment savoir lequel du tableau a appelé la fonction ... une idée ?

5 réponses

  1. Contributeur
    Bonjour,
    voire cette démo
    A+
    0
    1. Ok, ya aucun moyen directe donc.
      Merci pour ton exemple, mais j'en ai trouvé un largement mieux ^^

          Private Function get_which_raise_even(ByVal sender As System.Object) As Integer
      
      Dim i As Integer = 0

      While Not sender.Equals(montab(i))
      i += 1
      End While

      Return i
      End Function
      0
      1. Contributeur
        Tu n'a pas bien examiner la démo, si tu trouve qu'elle est plus compliquée c'est parce que je traite aussi une collection pour avoir les propriétés.
        Sinon, tu met un N° dans le tag des contrôles et faut pas de boucle.
        Juste Sender.Tag
        A+
        0
        1. Tu utilise sender tag dans tout les cas non ?
          0
          1. Contributeur
            Beh ça dépend si je veux absolument un index
            Sinon, y a aussi..(exemple pour deux PictureBox)
             Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click, PictureBox2.Click
            
            sender.cursor = Cursors.Help
            End Sub
            0