Control.CausesValidation Vlastnost

Definice

Získá nebo nastaví hodnotu označující, zda ovládací prvek způsobí, že ověření na ovládacích prvcích, které vyžadují ověření, když obdrží fokus.

C#
public bool CausesValidation { get; set; }

Hodnota vlastnosti

truepokud kontrola způsobí, že se ověření provede u jakýchkoliv kontrol, které vyžadují ověření, jakmile se na něj zaměří; v opačném případě . false Výchozí formát je true.

Příklady

Následující příklad kódu používá odvozenou třídu TextBox a ověří e-mailovou adresu, kterou uživatel zadá. Pokud e-mailová adresa není ve standardním formátu (obsahuje @a .), ověření se nezdaří, ErrorProvider zobrazí se ikona a událost se zruší. Jedno z tlačítek ve formuláři má vlastnost CausesValidation nastavenou na false. Kliknutím nebo nastavením fokusu na toto tlačítko se ověření neaktivuje. Tento příklad vyžaduje, aby TextBoxbyly ve formuláři vytvořeny , ErrorProvider ovládací prvek a Button .

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

Poznámky

Pokud je vlastnost nastavená CausesValidation na false, Validating jsou události a Validated potlačeny.

Hodnota CausesValidation vlastnosti je obvykle nastavena na false pro ovládací prvky, jako je tlačítko Nápověda.

Platí pro

Produkt Verze
.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

Viz také