Boucle pour tester différentes textbox

Boucle pour tester différentes textbox - C#/.NET managed - Programmation

Marsh Posté le 06-05-2006 à 01:13:28    

Bonsoir,

 

Je voudrais savoir si il est possible en C# de boucler 10 textbox afin de tester si il sont bien numérique et ainsi éviter 10 tests...
ex :
for(i=1; i<=10, i++)
{
    if(!IsNumeric(txt[i]))
    {
       MessageBox.Show("Erreur à la case " + i, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

 

J'ai pensé à txt[i] mais cela ne marche pas.
Existe-t-il une fonction qui permette cela?

 

Merci d'avance :p

Reply

Marsh Posté le 06-05-2006 à 01:13:28   

Reply

Marsh Posté le 06-05-2006 à 10:05:58    

les mettres dans une hashmap ou un arraylist, que tu parcourera avec un iterateur


Message édité par _darkalt3_ le 06-05-2006 à 11:07:19

---------------
Töp of the plöp
Reply

Marsh Posté le 06-05-2006 à 14:58:33    

et j'exporte avec ToString() aprés?

Reply

Marsh Posté le 06-05-2006 à 16:09:06    

Les ArrayList prennent des Object. Donc tu peux y foutre ce que tu veux dedans. Donc des ArrayList. Après à la récupération, tu fais un casting vers TextBox...
 
TextBox tb = (TextBox) monArrayList[i];
 
et tu récupères les méthodes standards du TextBox.  

Reply

Marsh Posté le 06-05-2006 à 19:30:00    

Je me suis peut être mal exprimé ou c'est peut etre très certainement
que je ne comprends pas mais j'ai cherché à faire ce que vous m'avez
donné mais, cela à toujours abouti à une erreur.
 

 


ArrayList txtb = new ArrayList();
 
for (i = 1; i <= 10; i++)
 
{
 
   TextBox txt = (TextBox)txtb[i]; //Casting
 
   if(!IsNumeric(txt[i]))
 
    {
 
       MessageBox.Show("Erreur à la case " + i, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
    }
 
}
 

 


Mes textbox se nomme respectivement txt1, txt2, ... , txt10.
 

 


Est-ce bien avec ce genre de fonction qui permet cela?
 
Parce que en cherchant les mots clé casting, arraylist..., il y a peu de documentation ou d'exemple.
 

 


En tout cas merci de m'avoir aidé ^^

Reply

Marsh Posté le 06-05-2006 à 21:49:24    

http://msdn.microsoft.com/library/ [...] stopic.asp
 
tout est là pour arraylist
 
vois le __try_cast pour le cast propre


---------------
Töp of the plöp
Reply

Marsh Posté le 06-05-2006 à 22:35:15    

l'arraylist c'est bien, mais s'il est vide :S ça ne sert à rien. Préalablement tu dois remplir ton ArrayList (qui est un tableau dynamique) avec les références de tes textbox.
 
En gros, au démarrage de ton applic tu fais
 
monArrayList.add(txt1);
monArrayList.add(txt2);
...
 
puis pour récupérer tu fais ce que tu as fais plus haut.
 
Si tu as une erreur, il serait bien que tu nous la donne. Bien que l'erreur vient du fait que ton ArrayList soit vide.  
 
for (i = 0; i < monArrayList.Count ; i++)
 
{
 
   TextBox txt = (TextBox)txtb[i]; //Casting
 
   if(!IsNumeric(txt))
 
    {
 
       MessageBox.Show("Erreur à la case " + i, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
    }
 
}

Reply

Marsh Posté le 10-05-2006 à 01:33:45    

Merci beacoup pour votre aide précieuse :)

Reply

Marsh Posté le 10-05-2006 à 14:53:49    

Code :
  1. foreach (TextBox txt in monArrayList)
  2.    if(!IsNumeric(txt))
  3.        MessageBox.Show("Erreur à la case " + i, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);


 
Plus 'Classe' [:ddr555]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed