Control.CausesValidation Propiedad

Definición

Obtiene o establece un valor que indica si el control hace que se realice una validación de todos los controles que requieren validación cuando reciben el foco.

C#
public bool CausesValidation { get; set; }

Valor de propiedad

Es true si el control hace que se validen los controles que requieren validación cuando reciben el foco; en caso contrario, es false. De manera predeterminada, es true.

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 el usuario escribe. 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. Uno de los botones del formulario tiene su CausesValidation propiedad establecida en false. Al hacer clic o establecer el foco en este botón, no se desencadena la validación. En este ejemplo se requiere que se haya creado un TextBox, un ErrorProvider control y un Button en un formulario.

C#
public Form1()
{
    InitializeComponent();
    //Set button2 to be non-validating.
    this.button2.CausesValidation = false;
}

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

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

Normalmente, el CausesValidation valor de la propiedad se establece false en para controles como un botón Ayuda.

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