jparia
Messages postés25Date d'inscriptionsamedi 18 mars 2006StatutMembreDernière intervention30 août 2010
-
25 août 2010 à 20:53
jparia
Messages postés25Date d'inscriptionsamedi 18 mars 2006StatutMembreDernière intervention30 août 2010
-
25 août 2010 à 21:11
Bonjour,
je m'initie au langage C# sous Visual Studio 2010 Express.
je veux créer un formulaire dynamiquement pouvant contenir 1 à X champs de saisi (textbox) avec labels (Label) selon le nombre de paramètres récupérés dans un tableau nommé paramNameIn.
Comment créer plusieurs contrôles Label et TextBox dans cette boucle?
l'exemple ci dessous ne fonctionne pas car les objets L1 et T1 sont créés qu'une seule fois:
/* création du formulaire */
DialParametres = new Form();
int y = 20; //
for (int i = 0; i < paramNameIn.Length; i++)
{
/* création du label */
Label L1 = new Label();
L1.Text = paramNameIn.GetValue(i).ToString();
L1.Location = new System.Drawing.Point(10, y+10);
L1.Size = new System.Drawing.Size(100, 20);
DialParametres.Controls.Add(L1);
/* création du textbox */
TextBox T1 = new TextBox();
T1.Location = new System.Drawing.Point(115, y+10);
T1.Size = new System.Drawing.Size(100, 20);
T1.Multiline = false;
T1.Name = "T" + i.ToString();
T1.Text = i.ToString() + " / " + paramNameIn.Length.ToString();
T1.TabIndex = 1;
DialParametres.Controls.Add(T1);
y++;
}
/* affichage du formulaire */
DialogResult res = DialParametres.ShowDialog();
jparia
Messages postés25Date d'inscriptionsamedi 18 mars 2006StatutMembreDernière intervention30 août 2010 25 août 2010 à 21:11
non c'est bon, j'ai simplement fait une erreur au niveau de l'incrément de la variable y (y++ == y+1 et non y+20) donnant la position verticale
donc tous mes champs se superposaient.