Leer en inglés

Compartir a través de


Control.Validated Evento

Definición

Se produce cuando finaliza la validación del control.

C#
public event EventHandler Validated;
C#
public event EventHandler? Validated;

Tipo de evento

Ejemplos

En el ejemplo de código siguiente se usa la clase TextBox derivada y se valida una dirección de correo electrónico que escribe el usuario. Si la dirección de correo electrónico no está en el formato estándar (que contiene "@" y "."), se produce un error en la validación, se muestra un ErrorProvider icono y se cancela el evento. En este ejemplo se requiere que se haya creado un TextBox control y ErrorProvider en un formulario.

C#
private void textBox1_Validating(object sender, 
                System.ComponentModel.CancelEventArgs e)
{
   string errorMsg;
   if(!ValidEmailAddress(textBox1.Text, out errorMsg))
   {
      // Cancel the event and select the text to be corrected by the user.
      e.Cancel = true;
      textBox1.Select(0, textBox1.Text.Length);

      // Set the ErrorProvider error with the text to display. 
      this.errorProvider1.SetError(textBox1, errorMsg);
   }
}

private void textBox1_Validated(object sender, System.EventArgs e)
{
   // If all conditions have been met, clear the ErrorProvider of errors.
   errorProvider1.SetError(textBox1, "");
}
public bool ValidEmailAddress(string emailAddress, out string errorMessage)
{
   // Confirm that the email address string is not empty.
   if(emailAddress.Length == 0)
   {
      errorMessage = "email address is required.";
         return false;
   }

   // Confirm that there is an "@" and a "." in the email address, and in the correct order.
   if(emailAddress.IndexOf("@") > -1)
   {
      if(emailAddress.IndexOf(".", emailAddress.IndexOf("@") ) > emailAddress.IndexOf("@") )
      {
         errorMessage = "";
         return true;
      }
   }
   
   errorMessage = "email address must be valid email address format.\n" +
      "For example 'someone@example.com' ";
      return false;
}

Comentarios

Al cambiar el foco mediante el teclado (TAB, MAYÚS+TAB, etc.), llamando a los Select métodos o SelectNextControl o estableciendo la ContainerControl.ActiveControl propiedad en el formulario actual, los eventos de foco se producen en el orden siguiente:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

Al cambiar el foco mediante el mouse o llamando al Focus método , los eventos de foco se producen en el orden siguiente:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

Si la CausesValidation propiedad se establece falseen , se suprimen los Validating eventos y Validated .

Si la Cancel propiedad de CancelEventArgs se establece true en en el Validating delegado de eventos, todos los eventos que normalmente se producirían después de suprimir el Validating evento.

Precaución

No intente establecer el foco desde los Entercontroladores de eventos , GotFocus, LostFocusLeave, , Validatingo Validated . Si lo hace, la aplicación o el sistema operativo dejarán de responder. Para obtener más información, vea el tema WM_KILLFOCUS y la sección "Interbloqueos de mensajes" del tema Acerca de mensajes y colas de mensajes .

Para obtener más información sobre el manejo de eventos, consulte controlar y provocar eventos.

Se aplica a

Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también