Tengo algunos cuadros de texto de enlace de datos con un BindingSource a objeto de negocio personalizado. El enlace de datos se realiza de la siguiente código

  txtBookNo.DataBindings.Add("Text", bs, "BookNo", true, DataSourceUpdateMode.OnPropertyChanged, null, "G", GlobalVariables.CurrentCultureInfo);

Ahora me gustaría validar la entrada del usuario. El evento que es mejor para tal propósito, en el cuadro de texto.Validar o cuadro de texto.Validado? Y, lo que debe ser DatasourceUpdateMode – OnPropertyChanged o OnValidation?

Gracias.

  • ¿Qué significa para ti «Y, lo que debe ser DatasourceUpdateMode – OnPropertyChanged o OnValidation» ?
InformationsquelleAutor s.k.paul | 2013-08-31

2 Comentarios

  1. 9
    • Validating se dispara justo antes de que el proceso de validación se inicia, este es el lugar para poner el actual código de validación.
    • Validated es despedido después de que el proceso de validación se ha terminado y está diseñado para ser el lugar para algo basado en la validación de resultados.

    Si DataSourceUpdateMode.OnPropertyChanged se utiliza a continuación:

    Origen de datos es actualizada cada vez que el valor de la propiedad de control de cambios.

    Si DatasourceUpdateMode.OnValidation se utiliza a continuación:

    Origen de datos se actualiza cuando el control de la propiedad es validado,
    Después de la validación, el valor en el control de la propiedad también se re-formateado.

    Si quieres sólo válido (que significa que ha sido validado por su código) de los datos a ser enviados a su personalizadas de business objects usted debería usar DataSourceUpdateMode.OnValidation.

    Aquí es un artículo que explica cómo hacer la validación de Formularios Windows forms.

    • Gracias juhan_h por la respuesta y referencia de MSDN.
  2. 1

    Cuadro de texto.Validar o cuadro de texto.Validado?

    tal y como se explica en documentación. Cuadro de texto.La validación de es el mejor lugar para poner validación de proceso de.

    private void textBox1_Validating(object sender, 
                System.ComponentModel.CancelEventArgs e)
    {
       string errorMsg;
       bool valid = /*do some validation*/;
       if(!valid)
      {
         //to cancel validating
         e.Cancel = true;
      }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here