Ajout dynamique d'un groupe de contrôles

Le
sergio
Bonsoir,

J'ai placé un TableLayoutPanel sur un formulaire. Je souhaiterais remplir
chaque case de ce TableLayoutPanel avec un Label. Le nombre de cases de la
table pouvant varier.
Voici mon code :
"
.TableLayoutPanel .ColumnCount = NbrJour_semaine
.TableLayoutPanel .RowCount = 7

For i = 1 To 7 * NbrJour_semaine

grpLabel(i) = New System.Windows.Forms.Label
grpLabel(i).Text = "Label " + CStr(i)
ICol = i Mod 7
IRow = CInt(Int(i / 7)) + 1
.tlpCalendar.Controls.Add(grpLabel(i), ICol, IRow)


Next i
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
sergio
Le #12202561
Excusez-moi j'ai fait une mauvaise manip et j'ai envoyé le post avant d'avoir
fini :-((
Voir la suite plus bas

"sergio" wrote:

Bonsoir,

J'ai placé un TableLayoutPanel sur un formulaire. Je souhaiterais remplir
chaque case de ce TableLayoutPanel avec un Label. Le nombre de cases de la
table pouvant varier.
Voici mon code :
"
.TableLayoutPanel .ColumnCount = NbrJour_semaine
.TableLayoutPanel .RowCount = 7

For i = 1 To 7 * NbrJour_semaine

grpLabel(i) = New System.Windows.Forms.Label
grpLabel(i).Text = "Label " + CStr(i)
ICol = i Mod 7
IRow = CInt(Int(i / 7)) + 1
.tlpCalendar.Controls.Add(grpLabel(i), ICol, IRow)


Next i



Mais ce code ne convient car il me met un message d'erreur :
"La référence d'objet n'est pas définie à une instance d'un objet." pour la
première ligne juste après le For.
Au début, j'ai bien déclaré :
Dim grpLabel() As System.Windows.Forms.Label

Que dois-je faire pour résoudre ce problème ?
Merci à vous
Salutations
Serge
Gilles TOURREAU [MVP]
Le #12202531
"sergio" news:
Excusez-moi j'ai fait une mauvaise manip et j'ai envoyé le post avant
d'avoir
fini :-((
Voir la suite plus bas

"sergio" wrote:

Bonsoir,

J'ai placé un TableLayoutPanel sur un formulaire. Je souhaiterais remplir
chaque case de ce TableLayoutPanel avec un Label. Le nombre de cases de
la
table pouvant varier.
Voici mon code :
"
.TableLayoutPanel .ColumnCount = NbrJour_semaine
.TableLayoutPanel .RowCount = 7

For i = 1 To 7 * NbrJour_semaine

grpLabel(i) = New System.Windows.Forms.Label
grpLabel(i).Text = "Label " + CStr(i)
ICol = i Mod 7
IRow = CInt(Int(i / 7)) + 1
.tlpCalendar.Controls.Add(grpLabel(i), ICol, IRow)


Next i



Mais ce code ne convient car il me met un message d'erreur :
"La référence d'objet n'est pas définie à une instance d'un objet." pour
la
première ligne juste après le For.
Au début, j'ai bien déclaré :
Dim grpLabel() As System.Windows.Forms.Label

Que dois-je faire pour résoudre ce problème ?
Merci à vous
Salutations
Serge






Bonjour,

Il faudrait créer le tableau après l'avoir déclaré :

Dim tab() As Label
ReDim tab(dimensionTableau)

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Publicité
Poster une réponse
Anonyme