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
    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
    1. Tu utilise sender tag dans tout les cas non ?
      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. 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
            Bonjour,
            voire cette démo
            A+
            0