Création de TextBox lors de l'exection

Résolu/Fermé
victoria ghabri Messages postés 95 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 3 juin 2014 - 5 déc. 2013 à 20:09
mli07 Messages postés 5 Date d'inscription lundi 16 décembre 2013 Statut Membre Dernière intervention 16 décembre 2013 - 16 déc. 2013 à 09:58
Bonsoir ,
Je suis entrain de faire une application en c# , a chaque fois je saisie le nombre de TextBox à créer (num_flds) ,il me crée des TextBox en nombre désiré .
Mon probléme est que je ne peut pas récupérer le contenu de ces TextBox .
Comment pourrais je récupérer le contenu de ces TxtBox crées dynamiquement.
Voici une portion du code que j'ai utulisé :
private void button3_Click(object sender, EventArgs e)
{
String[] varr = new String[7];
nbr_cli = int.Parse(textBox3.Text);
num_flds = nbr_cli;
for (int i = 0; i < num_flds; i++)
{

System.Windows.Forms.TextBox tmp = new System.Windows.Forms.TextBox();
tmp.Name = "answer_box" + i;
array_name[i] = tmp.Name;
tmp.Left = 90;
tmp.Top = 206 + (i * 20);
tmp.Width = 41;
tmp.Height = 20;
tmp.TabIndex = 10 + i;
tmp.Location = new System.Drawing.Point(131, 12 + i * 22);
tmp.Size = new System.Drawing.Size(100, 20);
panel3.Controls.Add(tmp);


}
}
merci de me répondre :)
A voir également:

2 réponses

mli07 Messages postés 5 Date d'inscription lundi 16 décembre 2013 Statut Membre Dernière intervention 16 décembre 2013 2
16 déc. 2013 à 09:35
Bonjour,

Utilise un conteneur pour le stockage de t'es textboxs :

List<TextBox> mesTextboxs = new List<TextBox>();


Ensuite rajoute ce code après panel3.Controls.Add(tmp);

mesTextboxs.Add(tmp);

Tu auras un tableau d'objet textboxs exploitable dans ton code :)
1
victoria ghabri Messages postés 95 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 3 juin 2014 5
16 déc. 2013 à 09:52
Merciii Beaucoup mli07 :) ça a marché !!!

Pour ceux qui ont eu un problème comme le mien ,voilà un bout de code :


TextBox[] textboxlist;
textboxlist = new TextBox[7];
for (int i = 0; i < num_flds; i++)
{

TextBox tmp = new TextBox();
tmp.Left = 90;
tmp.Top = 206 + (i * 20);
tmp.Width = 41;
tmp.Height = 20;
tmp.TabIndex = 10 + i;
tmp.Location = new System.Drawing.Point(131, 12 + i * 22);
tmp.Size = new System.Drawing.Size(100, 20);
textboxlist.SetValue(tmp, i);
panel3.Controls.Add(tmp);


}

/*dans une autre fonction */
for (int i = 0; i < num_flds; i++)
{
array_time[i] = textboxlist[i].Text;

}
0
mli07 Messages postés 5 Date d'inscription lundi 16 décembre 2013 Statut Membre Dernière intervention 16 décembre 2013 2
16 déc. 2013 à 09:58
De rien ;)
0