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 33 34 35 36 37 38 39
| Private Sub B1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B1.Click
For J As Integer = 0 To 9
For I As Integer = 0 To 9
A = 360 + (30 * I)
B = 110 + (30 * J)
Label(J, I) = New Label()
Label(J, I).AutoSize = False
Label(J, I).Location = New Point(A, B)
Label(J, I).BackColor = Color.Blue
Label(J, I).Size = CType(New Point(30, 30), Size)
Label(J, I).BorderStyle = BorderStyle.FixedSingle
Label(J, I).Visible = True
' L'objet est identifié par une string
' Cette string est affectée à la propriété Tag de l'objet créé
Label(J, I).Tag = "label " & CStr(J) & "," & CStr(I)
' Ajouter l'objet créé à la feuille
Me.Controls.Add(Label(J, I))
' Ajouter un type événement, (ici .Click) pour l'objet créé
' Et indiquer le nom de la procédure à exécuter lorsque cet événement se produit
AddHandler Label(J, I).Click, AddressOf ma_procédure
Next
Next
End Sub
Private Sub ma_procédure(ByVal sender As System.Object, ByVal e As System.EventArgs)
'Créer un objet de même type que l'émetteur (sender)
Dim etiquette As Label = CType(sender, Label)
'Utiliser l'objet créé (dans cette procédure)
MessageBox.Show(etiquette.Tag.ToString)
End Sub |
Partager