Control.CausesValidation 屬性

定義

取得或設定值,指出控制項取得焦點時,是否會在任何需要驗證的控制項上執行驗證。

C#
public bool CausesValidation { get; set; }

屬性值

如果控制項取得焦點時會在需要驗證的任何控制項上執行驗證,則為 true,否則為 false。 預設為 true

範例

下列程式碼範例會使用衍生類別 TextBox ,並驗證使用者輸入的電子郵件地址。 如果電子郵件地址不是標準格式, (包含 「@」 和 「」。) ,驗證失敗、 ErrorProvider 顯示圖示,並取消事件。 表單上的其中一個按鈕已將其 CausesValidation 屬性設定為 false 。 按一下或設定此按鈕的焦點不會觸發驗證。 此範例要求 TextBox 已在表單上建立 、 ErrorProvider 控制項和 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;
}

備註

CausesValidation如果 屬性設定為 false ,則會 Validating 隱藏 和 Validated 事件。

CausesValidation屬性值通常會針對 [說明] 按鈕等控制項設定為 false

適用於

產品 版本
.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

另請參閱