Практическое руководство. Отображение значков ошибок для проверки формы с помощью компонента ErrorProvider в Windows Forms
Компонент windows Forms ErrorProvider можно использовать для отображения значка ошибки при вводе пользователем недопустимых данных. Вы должны иметь по крайней мере два элемента управления на форме, чтобы переходить между ними и таким образом вызывать код проверки.
Отображение значка ошибки при недопустимом значении элемента управления
Добавьте два элемента управления (например, текстовые поля) в Форму Windows Form.
Добавьте компонент ErrorProvider в форму.
Выберите первый элемент управления и добавьте код в обработчик событий 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);
Запустите проект. Введите недопустимые (в этом примере нечисловые) данные в первый элемент управления, а затем перейдите ко второму элементу управления. При отображении значка ошибки наведите указатель мыши на него, чтобы просмотреть текст ошибки.
См. также
.NET Desktop feedback