bruno067
Messages postés6Date d'inscriptionsamedi 13 janvier 2007StatutMembreDernière intervention20 juin 2012
-
9 nov. 2007 à 10:13
bruno067
Messages postés6Date d'inscriptionsamedi 13 janvier 2007StatutMembreDernière intervention20 juin 2012
-
9 nov. 2007 à 15:03
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
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 20147 9 nov. 2007 à 11:14
Salut,
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
bruno067
Messages postés6Date d'inscriptionsamedi 13 janvier 2007StatutMembreDernière intervention20 juin 2012 9 nov. 2007 à 15:03
Salut,
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.