Lire en anglais

Partager via


Control.CausesValidation Propriété

Définition

Obtient ou définit une valeur indiquant si le contrôle entraîne une validation sur tout contrôle nécessitant une validation lorsqu’il reçoit le focus.

C#
public bool CausesValidation { get; set; }

Valeur de propriété

true si le contrôle entraîne une validation sur tout contrôle nécessitant une validation quand il reçoit le focus ; sinon, false. La valeur par défaut est true.

Exemples

L’exemple de code suivant utilise la classe TextBox dérivée et valide une adresse e-mail que l’utilisateur entre. Si l’adresse e-mail n’est pas au format standard (contenant « @ » et . »), la validation échoue, une ErrorProvider icône s’affiche et l’événement est annulé. La propriété de l’un des boutons du formulaire est CausesValidation définie falsesur . Le fait de cliquer ou de définir le focus sur ce bouton ne déclenche pas la validation. Cet exemple nécessite qu’un TextBox, un ErrorProvider contrôle et un Button aient été créés sur un formulaire.

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;
}

Remarques

Si la CausesValidation propriété est définie sur false, les Validating événements et Validated sont supprimés.

La CausesValidation valeur de la propriété est généralement définie sur false pour les contrôles tels qu’un bouton Aide.

S’applique à

Produit Versions
.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

Voir aussi