Probleme C# Form1.Controls

Fermé
YohDono - Modifié par YohDono le 22/06/2011 à 23:57
 YohDono - 25 juin 2011 à 01:15
Bonjour,
Je suis actuellement en train de créer un programme, avec Visual studio, qui contient plusieurs TextBox. Étant un peu feignant je souhaiterais faire une boucle pour appeler mes textbox. J'ai trouver cette solution sur le net :

for(int i=1;i<8;i++)
{
Form1.Controls["textBox" + (i + 7).ToString()].Text = "hello";
}

Ayant vu cette solution sur plusieurs sites je me suis dit qu'elle était bonne. Le problème est que je n'arrive pas a avoir accès à "Form1.Controls"...
Donc je viens a vous aux grands développeurs de ccm pour demander de l'aide.

3 réponses

Bonjour,
personne ne voit comment regler le soucis ou je me suis mal expliquer ??
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juin 2011 à 15:48
Bonjour,

Tu as bien remplacé Form1 par le nom de ta page ?
Dans le doute, si le code s'exécute dans la classe contenant les contrôles, tu peux le remplacer par "this".
Ensuite, pour la partie "textbox"+ (i).ToString(), il faut bien évidemment que tes TextBox portent un nom du genre textbox1, etc.

Xavier
0
Merci pour cette réponse. Alors j'ai recommencer un nouveau projet qui s'appelle "test", j'ai mis quatre Textbox qui s appelle Textbox1 à TextBox4. j'ai mis un bouton.

J'ai essayé cette boucle :

private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 5; i++)
{
this.Controls["TextBox" + (i).ToString()].Text = "hello";

}
}

ca compile sans probleme mais a l execution y'a une exception qui est soulevée :
"La référence d'objet n'est pas définie à une instance d'un objet."

Je sais pas si tu vois le probleme ou pas ...
0