Visual Basic .Net:Boucle For Each Next
Un article de WikiTuto.
Sommaire |
Explication
Cette structure de boucle permet spécifiquement de parcourir une série de contrôles. Tout repose sur le fait que la variable qui va servir de compteur à la boucle n'est ici plus un nombre, comme dans toutes les boucles For ... Next que nous avons écrites jusque là, mais que cette variable représente directement un contrôle. Autrement dit, la boucle va se servir d'une variable qui va désigner successivement plusieurs contrôles. Donc d'une variable de type Control.
Exemple
Le code précédent pourra ici être réécrit comme :
For Each Truc in Controls Truc.Visible = False Next Truc
La variable Truc étant de type Control, sa déclaration aura auparavant été :
Dim Truc as Control
En soi, et sur l'exemple choisi, cette technique n'apporte rien de spécial par rapport à la précédente. Mais comme on le verra plus loin, il y a des circonstances où elle révèlera des avantages notables.
Il faut noter que dans le cas où la collection parcourue ne comporte que des contrôles de la même classe, on peut tout à fait déclarer la variable objet directement comme un membre de la classe en question. Ainsi, au lieu d'avoir un :
Dim Truc as Control
On pourrait très bien déclarer Truc comme Label :
Dim Truc as Label
ou comme bouton :
Dim Truc as Button
...etc. Encore une fois, cela suppose que tous les contrôles de la collection soient bien de la classe spécifiée. Dans le cas contraire, il y aura forcément une erreur à l'exécution...
Voir aussi
- La notion de Collection
- Désigner les contrôles par leur indice
- La boucle For Each ... Next
- Tester le type d'un contrôle
- Créer ses propres collections par du code
- Créer dynamiquement des contrôles
- Remarque finale
- Retour au sommaire
Source : Christophe Darmangeat



