Bonjour,
je debute avec Visual basic 2005 edition express, et je souhaite construire un tableau de label, 21 environ qui apparait sur une fenêtre Forms. je souhaite activer un évenement pour chaque Label lors d'un click.
j'ai déja fait une petite procédure, qui n'affiche que le premier label, les autres n'apparaisse pas sur la Forms., merci pour votre aide et votre comprehension....
Merci
Public Class Form1
Inherits System.Windows.Forms.Form
Dim i As Integer
Dim j As Integer
Dim label(20, 20) As System.Windows.Forms.Label
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For j = 0 To 2
For i = 0 To 6
label(i, j) = New System.Windows.Forms.Label
label(i, j).BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
label(i, j).Location = New System.Drawing.Point(i, j)
label(i, j).Name = "1 er label"
label(i, j).Size = New System.Drawing.Size(40, 30)
label(i, j).Tag = 1
c'est normal que tu ne vois pas tous tes labels. ils font (40,30) pixels et tu leurs demandent de s'afficher en coordonnées (0,0) (1,0),(2,0) donc tu décale tes labels de 1 pixels en 1 pixels
il faut que tu les décales d'au moins leurs largeurs et hauteurs
le bout de code cei-dessous reprend ton code en ajoutant un point. les labels que je crée ne font que 10 par 10
après avoir ajouter le premier point j'augmente la valeur X du point de +20 pour décalé mes labels
Au final les labels apparaissent tous à la suite décalé de 10 pixels entre eux
A adapter à ton problème
Dim
pos1
As Point
Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Clickpos1 =
New Point(0, 0)
For j = 0
To 2
For i = 0 To 6 label(i, j) New System.Windows.Forms.Label label(i, j).BorderStyle System.Windows.Forms.BorderStyle.FixedSingle
Merci bien de t'on aide.
Je pensais que les variable i et j dans label ( i, j) permettais d'identifier le label par des
coordonnées.
J'ai supprimé la variable j , ce qui donne
label(i,).Location = pos1
La variable i me permet par la suite d'indexé n'importe quelle label.