Boucle pour tester différentes textbox - C#/.NET managed - Programmation
Marsh Posté le 06-05-2006 à 10:05:58
les mettres dans une hashmap ou un arraylist, que tu parcourera avec un iterateur
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.
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é ^^
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
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);
}
}
Marsh Posté le 10-05-2006 à 14:53:49
Code :
|
Plus 'Classe'
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