Créer des controls de formulaire dynamiquement dans une boucle for

Résolu
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010 - 25 août 2010 à 20:53
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 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();


Merci d'avance ;)

1 réponse

jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 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.
3
Rejoignez-nous