Salut tout le monde,
J'ai une question un peu étrange puisque je suis débutant en programmation:
J'ai un ensemble de textbox, je veux les parcourir avec une boucle for de tel sorte j'aurais textbox[i].text
est c'est possible en c#
merci.
Salut tout le monde,
J'ai une question un peu étrange puisque je suis débutant en programmation:
J'ai un ensemble de textbox, je veux les parcourir avec une boucle for de tel sorte j'aurais textbox[i].text
est c'est possible en c#
merci.
Bonjour,
si tu les mets dans un tableau ou dans une liste oui tu peux faire ça.
Mais pourquoi tu veux faire ça ?
Bonjour,
Tu peux parcourir tous les control d'un formulaire en faisant ceci.
Attention c ou this.Controls[i] peut etre un panel ou un autre control qui peut contenir des controls, donc dans ces cas this.Controls[i].Controls[0] peut être valide et ainsi de suite jusqu'a la profondeur maxi d'imbrication de tes composants.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 foreach (Control c in this.Controls) { if (c is TextBox) { MessageBox.Show(((TextBox)c).Text); } } ou for (int i = 0; i < this.Controls.Count; i++) { if (this.Controls[i] is TextBox) { MessageBox.Show(((TextBox)this.Controls[i]).Text); } }
Tu peux tester chaque control en faisait
if (c is Panel), if (c is TextBox) ou tout ce que tu souhaites tester.
Cordialement
Je connais des gens qui ne sont pas aware, il ne sont pas qu courant. il ne sont pas a l'attention de savoir qu'ils existent.
"J-C Van dam"
Hello,
Pour compléter la réponse de Lharrun qui est tout a fait correct, tu peux également ajouter un Tag commun pour créer des groupes de textbox.
Par exemple, tu as 5 textbox utiles pour faire une action A et 5 autres pour faire une action B.
Les 5 textbox auront "A" comme valeur pour la propriété Tag. Les 5 autres textbox auront un Tag "B".
De ce faite, tu peux faire du trie dans ta collection de tes controls de type Textbox.
Exemple:
MRA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 foreach (Control c in this.Controls) { if (c is TextBox && c.tag == "A") // On traite les textbox de groupe A { MessageBox.Show((TextBox)c.Text + ": Groupe de textbox A"); } else if (c is TextBox && c.tag == "B" // On traite les textbox de groupe A { MessageBox.Show((TextBox)c.Text + ": Groupe de textbox B"); } }
Tu peux faire de la récursivité pour parcourir en profondeur tous les sous controls d'un control pour récupérer les TextBox. C'est assez simple à implémenter une seule méthode ...
"Une belle citation est un diamant au doigt de l'homme d'esprit et un caillou dans la main d'un sot."
Joseph Roux
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager