/// <summary> /// Retouner une liste de tous les controls contenus dans un control sans oublier les controls enfant de ceux-ci /// </summary> /// <param name="sender"></param> /// <returns></returns> public static IEnumerable<Control> ControlsAvecRecursivite(this Control sender) { // Lister les controls enfant foreach (Control c in sender.Controls) { // Retourner le control enfant yield return c; // Pour chague control retourner ses controls enfant via l'énumération [Recursivite] foreach (Control child in c.ControlsAvecRecursivite()) { yield return child; } } } // LE code s'utilise simplement comme ceci : Ienumerable<Control> controls = this.ControlsAvecRecursivite(); // Par exemple Pour lister les ID des contrôles Textbox d'un panel var textBoxs = from c in panel.ControlsAvecRecursivite() where c is TextBox select c.ID;
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.