Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Luis Benavides Sellan – C# Reutilizando Código entre Controles – Usando la clase controls para crear procedimientos
masivos para controles
Ejemplo de aplicación
En el siguiente formulario crearemos un procedimiento de usuario que nos permita validar que
en todos los comboBox se halla seleccionado una opción diferente a 0, en este caso la opción 0
es la que hemos predeterminado en el evento load
En el evento load del form asignaremos como valor inicial a todos los ComboBox la opción 0
(Seleccione)
1
MSc. Luis Benavides Sellan – C# Reutilizando Código entre Controles – Usando la clase controls para crear procedimientos
masivos para controles
Luego crearemos una función que nos devolverá el valor de true si se supera la validación y de
false si no se supera la validación:
//Crear procedimiento generico para validar si se ingreso datos a un ComboBox
private bool ValidarCombo(ComboBox ComboEvaluado)
{
//Preguntar si no se selecciono ninguna opción (0 = Seleccione)
if (ComboEvaluado.SelectedIndex == 0)
{
this.errorProvider1.SetError(ComboEvaluado, "Debe seleccionar " + ComboEvaluado.Tag);
return false; //Devolvemos falso en caso de error
}
//En caso de no haber error limpiamos el control errorProvider
this.errorProvider1.SetError(ComboEvaluado, "");
return true; //Devolvemos verdadero si fue correcto
}
2
MSc. Luis Benavides Sellan – C# Reutilizando Código entre Controles – Usando la clase controls para crear procedimientos
masivos para controles
Cuando dos o más controles comparten exactamente el mismo código en común que se dispara
en el mismo evento es posible asignar el manejo del evento de un control a partir de otro. Esto
nos permite ahorrar líneas de código, por consiguiente, nuestro programa final será más
entendible.
3
MSc. Luis Benavides Sellan – C# Reutilizando Código entre Controles – Usando la clase controls para crear procedimientos
masivos para controles
2. Lo codificamos
private void TxtNombres_KeyPress(object sender, KeyPressEventArgs e)
{
if (Char.IsLetter(e.KeyChar) || Char.IsWhiteSpace(e.KeyChar)
|| Char.IsControl(e.KeyChar))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
4
MSc. Luis Benavides Sellan – C# Reutilizando Código entre Controles – Usando la clase controls para crear procedimientos
masivos para controles