Los controles de un form

12/08/2008 - 15:58 por Pedro | Informe spam
Estoy haciendo una clase de form que una de las opciones es que se puedan
recorrer sus controles para hacer determinada accion con ellos.

Vi que puedo recorrer la coleccion Controls del form pero el problema es que
si tengo por ejemplo un Tabcontrol que contiene mas controles no me los
recorre.\

Hay alguna otra coleccion que me de los controles del form sin importar que
esten en un tabcontrol u otro contenedor?
 

Leer las respuestas

#1 RFOG
12/08/2008 - 17:45 | Informe spam
Supongo, y sólo supongo, que podrías hacerlo recursivamente. Es decir,
para cada control que cojas, si es un container y tiene subcontroles,
recorrerlos y así de forma recursiva...

Algo así:

private void RecursivelyFormatForWinXP(Control control)
{
for(int x = 0; x < control.Controls.Count; x++)
{
// If the control derives from ButtonBase,
// set its FlatStyle property to FlatStyle.System.
if(control.Controls[x].GetType().BaseType == typeof(ButtonBase))
{
((ButtonBase)control.Controls[x]).FlatStyle = FlatStyle.System;
}

// If the control holds other controls, iterate through them also.
if(control.Controls.Count > 0)
{
RecursivelyFormatForWinXP(control.Controls[x]);
}
}
}


On Tue, 12 Aug 2008 15:58:45 +0200, Pedro wrote:

Estoy haciendo una clase de form que una de las opciones es que se puedan
recorrer sus controles para hacer determinada accion con ellos.

Vi que puedo recorrer la coleccion Controls del form pero el problema es
que
si tengo por ejemplo un Tabcontrol que contiene mas controles no me los
recorre.\

Hay alguna otra coleccion que me de los controles del form sin importar
que
esten en un tabcontrol u otro contenedor?







Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
Enseñar a quien no tiene curiosidad por aprender es como sembrar un campo
sin ararlo.

Preguntas similares