Création de TextBox lors de l'exection

Résolu
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 :)

2 réponses

  1. 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. 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;

      }