Control.CausesValidation Özellik

Tanım

Denetimin, odağı aldığında doğrulama gerektiren denetimlerde doğrulama gerçekleştirilmeye neden olup olmadığını belirten bir değer alır veya ayarlar.

C#
public bool CausesValidation { get; set; }

Özellik Değeri

true denetim, odağı aldığında doğrulama gerektiren denetimlerde doğrulama gerçekleştirilmeye neden oluyorsa; aksi takdirde , false. Varsayılan değer: true.

Örnekler

Aşağıdaki kod örneği türetilmiş sınıfını TextBox kullanır ve kullanıcının girdiği bir e-posta adresini doğrular. E-posta adresi standart biçimde değilse ("@" ve ".") doğrulama başarısız olur, bir ErrorProvider simge görüntülenir ve olay iptal edilir. Formdaki düğmelerden birinin özelliği olarak falseayarlanmıştırCausesValidation. Odağın bu düğmeye tıklanması veya ayarlanması doğrulamayı tetiklemez. Bu örnek, formda bir TextBox, Button ve ErrorProvider denetiminin oluşturulmasını gerektirir.

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

Açıklamalar

CausesValidation özelliği olarak falseValidating ayarlanırsa ve Validated olayları gizlenır.

CausesValidation Özellik değeri genellikle Yardım düğmesi gibi denetimler için olarak ayarlanırfalse.

Şunlara uygulanır

Ürün Sürümler
.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

Ayrıca bkz.