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 ..

Preguntas similare

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);
Respuesta Responder a este mensaje
#2 Francisco Zavala Hdez
22/12/2006 - 23:43 | Informe spam
Muchas Gracias Alberto!!

Era justo lo que queria saber :P
"Alberto Poblacion"
escribió en el mensaje news:%
"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);



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida