Para limpiar varios textbox
Algo que sucede a menudo es que teniendo una considerable cantidad de cajas de texto, necesitamos en algun momento "limpiarlas" (término que me enseño mi profesor de la U, en los primeros ciclos, y se me quedó
), esto es, poner la propiedad Text = ""; simple y sencillo, pero engorroso para varias cajas como al inicio mencionaba. Para esto, uso un foreach para recorrer una coleccion de controles, en busca de las tipo TextBox, para ponerles el Text a "". Así, supongamos que estamos en la clase clsUtilitario.cs:
using System.Windows.Forms; // para poder usar Control
… namespace y demas codigo que puedes tener …
public static void LimpiarCajas(Control.ControlCollection coleccionControles)
{
foreach (Control control in coleccionControles)
{
if (control.GetType().ToString() == "System.Windows.Forms.TextBox")
{ control.Text = ""; }
}
}
Ahora, de cualquier lugar, solo necesitas pasarle una coleccion de controles, tal y como especifica el parametro Control.ControlCollection coleccionControles.
Por decir, para los textbox de un groupbox:
clsUtilitario.LimpiarCajas(gbxGrupo.Controls);
o los textbox de todo un formulario:
clsUtilitario.LimpiarCajas(frmFormulario.Controls)
Si a alguien le sirve, en buena hora. Salu2.


Claro que funciono, gracias lo estaba buscando
Comment by Alex Garcia — February 10, 2008 @ 7:29 pm
Me parece muy bueno el ejemplo. Me sirvio para lo que necesitaba, la unica diferencia es que le podes expecificar el tipo de control, por lo cual te podes ahorrar el testeo de si es un textBox. Claro que con esto perdemos mas generalidad pero bueh, es otro punto de vista nomas. Como quedaria
foerach (TextBox unTexto in gbxGrupo.controls)
{
unTexto.text = “”;
}
Comment by Ignacio Jauregui — March 8, 2009 @ 1:47 pm
pues me gusta más tu ejemplo, pues lo que se buscaba era justamente limpiar textBox, lo voy a probar. Thks.
Comment by luismarcel — March 8, 2009 @ 3:41 pm