cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
3 nov. 2012 à 09:58
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
3 nov. 2012 à 10:56
Bonjour,
Petit probleme avec une boucle!
J'utilise le For Each suivant:
For Each c As Control In Me.Controls
' Something
Next c
Mais malheureusement, c ne prend que la valeur du SplitContainer (vu en Debug mode) et pas tout ce qui se trouve sur la Form.
Donc, je suis oblige de creer le For Each suivant...
For Each ctl As Control In Me.SplitContainer.Panel1.Controls
' Something
Next ctl
... pour avoir ce qui se trouve sur le Panel1. Et ainsi de suite pour les autres Containers (Panel2..., probablement la meme chose pour un GroupBox...).
Je voudrais savoir s'il y a une facon de faire pour avoir une seule boucle qui verifierait tous les Controls sur une Form (et si possible, la Form comprise... mais la, je demande peut-etre beaucoup).
Merci,
Private Iterator Function EnumControls(ByVal Parent As Control) As IEnumerable(Of Control)
Yield Parent
For Each c As Control In Parent.Controls
For Each c2 As Control In EnumControls(c)
Yield c2
Next
Next
End Function
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 20131 3 nov. 2012 à 10:56
Je travaille en VB2008.
Je n'ai pas encore regarde la deuxieme methode, mais ca a l'air interessant.
La recursivite n'est pas quelquechose que j'utilise beaucoup, donc quelquechose de nouveau a apprendre et a essayer de maitriser.
Merci encore.