Show / Hide Table of Contents

Практическое руководство. Отображение значков ошибок при проверке введенных в форму данных с помощью компонента ErrorProvider в Windows Forms

Вы можете использовать формы Windows ErrorProvider компонент для отображения значка ошибки, когда пользователь вводит недопустимые данные. Необходимо иметь по крайней мере два элемента управления в форме для перехода между ними и тем самым вызвать код проверки.

Для отображения значков ошибок при недопустимом значение элемента управления

  1. Добавьте два элемента управления, например, текстовые поля, в форму Windows.

  2. Добавить ErrorProvider в форму компонент.

  3. Выберите первый элемент управления и добавьте код для его Validating обработчик событий. Чтобы этот код для запуска должным образом процедура должны быть подключены к событию. Дополнительные сведения см. в разделе Как Создание обработчиков событий во время выполнения для форм Windows Forms.

    Следующий код проверяет допустимость данных, которые пользователь ввел; Если данные являются недопустимыми, SetError вызывается метод. Первый аргумент SetError метод указывает, какой элемент управления для отображения значка рядом с полем. Вторым аргументом является текст ошибки для отображения.

    Private Sub TextBox1_Validating(ByVal Sender As Object, _  
       ByVal e As System.ComponentModel.CancelEventArgs) Handles _  
       TextBox1.Validating  
          If Not IsNumeric(TextBox1.Text) Then  
             ErrorProvider1.SetError(TextBox1, "Not a numeric value.")  
          Else  
             ' Clear the error.  
             ErrorProvider1.SetError(TextBox1, "")  
          End If  
    End Sub  
    
    protected void textBox1_Validating (object sender,  
       System.ComponentModel.CancelEventArgs e)  
    {  
       try  
       {  
          int x = Int32.Parse(textBox1.Text);  
          errorProvider1.SetError(textBox1, "");  
       }  
       catch (Exception ex)  
       {  
          errorProvider1.SetError(textBox1, "Not an integer value.");  
       }  
    }  
    
    private:  
       System::Void textBox1_Validating(System::Object ^  sender,  
          System::ComponentModel::CancelEventArgs ^  e)  
       {  
          try  
          {  
             int x = Int32::Parse(textBox1->Text);  
             errorProvider1->SetError(textBox1, "");  
          }  
          catch (System::Exception ^ ex)  
          {  
             errorProvider1->SetError(textBox1, "Not an integer value.");  
          }  
       }  
    

    (Visual C# Visual C++) поместите следующий код в конструктор формы для регистрации обработчика событий.

    this.textBox1.Validating += new  
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);  
    
    this->textBox1->Validating += gcnew  
       System::ComponentModel::CancelEventHandler  
       (this, &Form1::textBox1_Validating);  
    
  4. Запустите проект. Введите недопустимые (в этом примере нечисловые) данные в первый элемент управления, а затем перейдите ко второму. Если отображается значок ошибки, установите на нем указателя мыши, чтобы просмотреть текст ошибки.

См. также

  • SetError
  • Общие сведения о компоненте ErrorProvider
  • Практическое руководство. Индикация ошибок данных, содержащихся в объекте DataSet, с помощью компонента ErrorProvider в Windows Forms
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX