Прочитать на английском

Поделиться через


Control.CausesValidation Свойство

Определение

Возвращает или задает значение, указывающее, вызывает ли элемент управления выполнение проверки для всех элементов управления, требующих проверки, при получении фокуса.

public bool CausesValidation { get; set; }

Значение свойства

Значение true, если элемент управления вызывает выполнение проверки в любом элементе управления, требующем проверки при получении фокуса; в противном случае — значение false. Значение по умолчанию — true.

Примеры

В следующем примере кода используется производный класс TextBox и проверяется адрес электронной почты, который вводит пользователь. Если адрес электронной почты отличается от стандартного формата (содержит "@" и ". ), проверка завершается ошибкой ErrorProvider , отображается значок и событие отменяется. Свойство одной из кнопок на форме имеет CausesValidation значение false. Нажатие или установка фокуса на эту кнопку не запускает проверку. В этом примере требуется TextBox, чтобы в форме были созданы , ErrorProvider элемент управления и Button .

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

См. также раздел