limpiar los textBox de un formulario

22/12/2006 - 20:24 por Francisco Zavala Hdez | Informe spam
Hola grupo!!
Tengo la siguiente duda : Hay una manera facil de limpiar todos los
contorles de un formulario (textBox,comboBox) ...
estoy usando el Visual Studio 2005 C #...

gracias de antemano ..
 

Leer las respuestas

#1 Alberto Poblacion
22/12/2006 - 21:25 | Informe spam
"Francisco Zavala Hdez" wrote in message
news:%
Tengo la siguiente duda : Hay una manera facil de limpiar todos los
contorles de un formulario (textBox,comboBox) ...
estoy usando el Visual Studio 2005 C #...



Podrías recorrer con un bucle la colección de Controles del formulario:

foreach (Control c in this.Controls)
{
c.Text = "";
}

Si por "limpiar" un control entiendes algo más que vaciarle la propiedad
text, tendrás que examinar el tipo de control dentro del bucle y si es del
tipo que buscas, cambiar la propiedad correspondiente. Por ejemplo, si
quieres dejar seleccionado el primer elemento de todos los combos pondrás
algo parecido a lo siguiente:

if (c is ComboBox) ((ComboBox)c).SelectedIndex=0;

Si tienes unos controles anidados dentro de otros, por ejemplo, un Panel
que tenga dentro TextBoxes, entonces tendrás que convertir la rutina de
limpieza en recursiva, para que recorra la colección de controles de cada
uno de los controles:

private void Limpiar(Control c)
{
foreach (Control c1 in c.Controls)
{
c1.Text="";
Limpiar(c1);
}
}

Invócalo pasándole el formulario, que a su vez es un control:

Limpiar(this);

Preguntas similares