[WinForms - How To] Utilizar ErrorProvider

abril 07, 2016 Christian Amado 0 Comentarios

Esta clase nos permite atrapar errores que se producen en los controles de ingreso de datos. Con este control podemos indicar al usuario que no se está cumpliendo con una condición específica y no puede continuar con la carga de datos.

En este pequeño tutorial mostraré como validar que un cuadro de texto no esté vacío y también como validar sólo números.
Agregamos dos cuadros de texto, dos controles ErrorProvider y un botón: errorprovider1

En el evento Click del botón controlamos que el primer cuadro de texto no esté vacío, si lo está activamos el ErrorProvider
private void button1_Click(object sender, EventArgs e)
{
    if (string.IsNullOrEmpty(this.textBox1.Text))
        this.errorProvider1.SetError(this.textBox1, "Este campo no puede quedar vacío.");
    else
        this.errorProvider1.Clear();
}

En el evento TextChanged del segundo cuadro de texto validamos que se ingresen sólo números, si no es número activamos el ErrorProvider
private void textBox2_TextChanged(object sender, EventArgs e)
{
    this.errorProvider2.Clear();

    foreach (char letra in this.textBox2.Text)
    {
        if (!char.IsDigit(letra))
        {
            this.errorProvider2.SetError(this.textBox2, "El campo sólo acepta campos numéricos");
            break;
        }
    }
}

De esta manera, hacemos que la carga de datos en un formulario Windows sea amigable para el usuario especificando dónde se produce el error de carga en el ingreso de datos.