ErrorProvider Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет пользовательский интерфейс для указания того, что элемент управления в форме связан с ошибкой.
public ref class ErrorProvider : System::ComponentModel::Component, System::ComponentModel::IExtenderProvider
public ref class ErrorProvider : System::ComponentModel::Component, System::ComponentModel::IExtenderProvider, System::ComponentModel::ISupportInitialize
public class ErrorProvider : System.ComponentModel.Component, System.ComponentModel.IExtenderProvider
[System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
public class ErrorProvider : System.ComponentModel.Component, System.ComponentModel.IExtenderProvider, System.ComponentModel.ISupportInitialize
type ErrorProvider = class
inherit Component
interface IExtenderProvider
[<System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>]
type ErrorProvider = class
inherit Component
interface IExtenderProvider
interface ISupportInitialize
Public Class ErrorProvider
Inherits Component
Implements IExtenderProvider
Public Class ErrorProvider
Inherits Component
Implements IExtenderProvider, ISupportInitialize
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере кода показано использование ErrorProvider класса для уведомления пользователя об ошибке ввода данных. В примере создается элемент FormTextBox управления, NumericUpDown элемент управления и ComboBox элемент управления, каждый проверяющий его содержимое, а также ErrorProvider элемент управления. В примере задаются параметры значка ошибки с помощью BlinkRate свойств и SetIconAlignmentBlinkStyle методов.SetIconPadding Метод SetError вызывается с соответствующим текстом ошибки или без нее во время события элемента управления Validated в зависимости от содержимого элемента управления.
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
System::Windows::Forms::Label ^ label1;
System::Windows::Forms::Label ^ label2;
System::Windows::Forms::Label ^ label4;
System::Windows::Forms::Label ^ label5;
System::Windows::Forms::Label ^ label6;
System::Windows::Forms::Label ^ label3;
System::Windows::Forms::TextBox^ nameTextBox1;
System::Windows::Forms::NumericUpDown^ ageUpDownPicker;
System::Windows::Forms::ComboBox^ favoriteColorComboBox;
System::Windows::Forms::ErrorProvider^ ageErrorProvider;
System::Windows::Forms::ErrorProvider^ nameErrorProvider;
System::Windows::Forms::ErrorProvider^ favoriteColorErrorProvider;
public:
Form1()
{
this->nameTextBox1 = gcnew System::Windows::Forms::TextBox;
this->label1 = gcnew System::Windows::Forms::Label;
this->label2 = gcnew System::Windows::Forms::Label;
this->ageUpDownPicker = gcnew System::Windows::Forms::NumericUpDown;
this->favoriteColorComboBox = gcnew System::Windows::Forms::ComboBox;
this->label3 = gcnew System::Windows::Forms::Label;
this->label4 = gcnew System::Windows::Forms::Label;
this->label5 = gcnew System::Windows::Forms::Label;
this->label6 = gcnew System::Windows::Forms::Label;
// Name Label
this->label1->Location = System::Drawing::Point( 56, 32 );
this->label1->Size = System::Drawing::Size( 40, 23 );
this->label1->Text = "Name:";
// Age Label
this->label2->Location = System::Drawing::Point( 40, 64 );
this->label2->Size = System::Drawing::Size( 56, 23 );
this->label2->Text = "Age (3-5)";
// Favorite Color Label
this->label3->Location = System::Drawing::Point( 24, 96 );
this->label3->Size = System::Drawing::Size( 80, 24 );
this->label3->Text = "Favorite color";
// ErrorBlinkStyle::AlwaysBlink Label
this->label4->Location = System::Drawing::Point( 264, 32 );
this->label4->Size = System::Drawing::Size( 160, 23 );
this->label4->Text = "ErrorBlinkStyle::AlwaysBlink";
// ErrorBlinkStyle::BlinkIfDifferentError Label
this->label5->Location = System::Drawing::Point( 264, 64 );
this->label5->Size = System::Drawing::Size( 200, 23 );
this->label5->Text = "ErrorBlinkStyle::BlinkIfDifferentError";
// ErrorBlinkStyle::NeverBlink Label
this->label6->Location = System::Drawing::Point( 264, 96 );
this->label6->Size = System::Drawing::Size( 200, 23 );
this->label6->Text = "ErrorBlinkStyle::NeverBlink";
// Name TextBox
this->nameTextBox1->Location = System::Drawing::Point( 112, 32 );
this->nameTextBox1->Size = System::Drawing::Size( 120, 20 );
this->nameTextBox1->TabIndex = 0;
this->nameTextBox1->Validated += gcnew System::EventHandler( this, &Form1::nameTextBox1_Validated );
// Age NumericUpDown
this->ageUpDownPicker->Location = System::Drawing::Point( 112, 64 );
array<int>^temp0 = {150,0,0,0};
this->ageUpDownPicker->Maximum = System::Decimal( temp0 );
this->ageUpDownPicker->TabIndex = 4;
this->ageUpDownPicker->Validated += gcnew System::EventHandler( this, &Form1::ageUpDownPicker_Validated );
// Favorite Color ComboBox
array<Object^>^temp1 = {"None","Red","Yellow","Green","Blue","Purple"};
this->favoriteColorComboBox->Items->AddRange( temp1 );
this->favoriteColorComboBox->Location = System::Drawing::Point( 112, 96 );
this->favoriteColorComboBox->Size = System::Drawing::Size( 120, 21 );
this->favoriteColorComboBox->TabIndex = 5;
this->favoriteColorComboBox->Validated += gcnew System::EventHandler( this, &Form1::favoriteColorComboBox_Validated );
// Set up how the form should be displayed and add the controls to the form.
this->ClientSize = System::Drawing::Size( 464, 150 );
array<System::Windows::Forms::Control^>^temp2 = {this->label6,this->label5,this->label4,this->label3,this->favoriteColorComboBox,this->ageUpDownPicker,this->label2,this->label1,this->nameTextBox1};
this->Controls->AddRange( temp2 );
this->Text = "Error Provider Example";
// Create and set the ErrorProvider for each data entry control.
nameErrorProvider = gcnew System::Windows::Forms::ErrorProvider;
nameErrorProvider->SetIconAlignment( this->nameTextBox1, ErrorIconAlignment::MiddleRight );
nameErrorProvider->SetIconPadding( this->nameTextBox1, 2 );
nameErrorProvider->BlinkRate = 1000;
nameErrorProvider->BlinkStyle = System::Windows::Forms::ErrorBlinkStyle::AlwaysBlink;
ageErrorProvider = gcnew System::Windows::Forms::ErrorProvider;
ageErrorProvider->SetIconAlignment( this->ageUpDownPicker, ErrorIconAlignment::MiddleRight );
ageErrorProvider->SetIconPadding( this->ageUpDownPicker, 2 );
ageErrorProvider->BlinkStyle = System::Windows::Forms::ErrorBlinkStyle::BlinkIfDifferentError;
favoriteColorErrorProvider = gcnew System::Windows::Forms::ErrorProvider;
favoriteColorErrorProvider->SetIconAlignment( this->favoriteColorComboBox, ErrorIconAlignment::MiddleRight );
favoriteColorErrorProvider->SetIconPadding( this->favoriteColorComboBox, 2 );
favoriteColorErrorProvider->BlinkRate = 1000;
favoriteColorErrorProvider->BlinkStyle = System::Windows::Forms::ErrorBlinkStyle::NeverBlink;
}
private:
void nameTextBox1_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
if ( IsNameValid() )
{
// Clear the error, if any, in the error provider.
nameErrorProvider->SetError( this->nameTextBox1, String.Empty );
}
else
{
// Set the error if the name is not valid.
nameErrorProvider->SetError( this->nameTextBox1, "Name is required." );
}
}
void ageUpDownPicker_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
if ( IsAgeTooYoung() )
{
// Set the error if the age is too young.
ageErrorProvider->SetError( this->ageUpDownPicker, "Age not old enough" );
}
else
if ( IsAgeTooOld() )
{
// Set the error if the age is too old.
ageErrorProvider->SetError( this->ageUpDownPicker, "Age is too old" );
}
else
{
// Clear the error, if any, in the error provider.
ageErrorProvider->SetError( this->ageUpDownPicker, String.Empty );
}
}
void favoriteColorComboBox_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
if ( !IsColorValid() )
{
// Set the error if the favorite color is not valid.
favoriteColorErrorProvider->SetError( this->favoriteColorComboBox, "Must select a color." );
}
else
{
// Clear the error, if any, in the error provider.
favoriteColorErrorProvider->SetError( this->favoriteColorComboBox, String.Empty );
}
}
// Functions to verify data.
bool IsNameValid()
{
// Determine whether the text box contains a zero-length String*.
return (nameTextBox1->Text->Length > 0);
}
bool IsAgeTooYoung()
{
// Determine whether the age value is less than three.
return (ageUpDownPicker->Value < 3);
}
bool IsAgeTooOld()
{
// Determine whether the age value is greater than five.
return (ageUpDownPicker->Value > 5);
}
bool IsColorValid()
{
// Determine whether the favorite color has a valid value.
return ((favoriteColorComboBox->SelectedItem != 0) && ( !favoriteColorComboBox->SelectedItem->Equals( "None" )));
}
};
[STAThread]
int main()
{
Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.Windows.Forms;
namespace ErrorProvider
{
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox nameTextBox1;
private System.Windows.Forms.NumericUpDown ageUpDownPicker;
private System.Windows.Forms.ComboBox favoriteColorComboBox;
private System.Windows.Forms.ErrorProvider ageErrorProvider;
private System.Windows.Forms.ErrorProvider nameErrorProvider;
private System.Windows.Forms.ErrorProvider favoriteColorErrorProvider;
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
public Form1()
{
this.nameTextBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.ageUpDownPicker = new System.Windows.Forms.NumericUpDown();
this.favoriteColorComboBox = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
// Name Label
this.label1.Location = new System.Drawing.Point(56, 32);
this.label1.Size = new System.Drawing.Size(40, 23);
this.label1.Text = "Name:";
// Age Label
this.label2.Location = new System.Drawing.Point(40, 64);
this.label2.Size = new System.Drawing.Size(56, 23);
this.label2.Text = "Age (3-5)";
// Favorite Color Label
this.label3.Location = new System.Drawing.Point(24, 96);
this.label3.Size = new System.Drawing.Size(80, 24);
this.label3.Text = "Favorite color";
// ErrorBlinkStyle.AlwaysBlink Label
this.label4.Location = new System.Drawing.Point(264, 32);
this.label4.Size = new System.Drawing.Size(160, 23);
this.label4.Text = "ErrorBlinkStyle.AlwaysBlink";
// ErrorBlinkStyle.BlinkIfDifferentError Label
this.label5.Location = new System.Drawing.Point(264, 64);
this.label5.Size = new System.Drawing.Size(200, 23);
this.label5.Text = "ErrorBlinkStyle.BlinkIfDifferentError";
// ErrorBlinkStyle.NeverBlink Label
this.label6.Location = new System.Drawing.Point(264, 96);
this.label6.Size = new System.Drawing.Size(200, 23);
this.label6.Text = "ErrorBlinkStyle.NeverBlink";
// Name TextBox
this.nameTextBox1.Location = new System.Drawing.Point(112, 32);
this.nameTextBox1.Size = new System.Drawing.Size(120, 20);
this.nameTextBox1.TabIndex = 0;
this.nameTextBox1.Validated += new System.EventHandler(this.nameTextBox1_Validated);
// Age NumericUpDown
this.ageUpDownPicker.Location = new System.Drawing.Point(112, 64);
this.ageUpDownPicker.Maximum = new System.Decimal(new int[] {150,0,0,0});
this.ageUpDownPicker.TabIndex = 4;
this.ageUpDownPicker.Validated += new System.EventHandler(this.ageUpDownPicker_Validated);
// Favorite Color ComboBox
this.favoriteColorComboBox.Items.AddRange(new object[] {"None","Red","Yellow",
"Green","Blue","Purple"});
this.favoriteColorComboBox.Location = new System.Drawing.Point(112, 96);
this.favoriteColorComboBox.Size = new System.Drawing.Size(120, 21);
this.favoriteColorComboBox.TabIndex = 5;
this.favoriteColorComboBox.Validated += new System.EventHandler(this.favoriteColorComboBox_Validated);
// Set up how the form should be displayed and add the controls to the form.
this.ClientSize = new System.Drawing.Size(464, 150);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.label6,this.label5,this.label4,this.label3,
this.favoriteColorComboBox,this.ageUpDownPicker,
this.label2,this.label1,this.nameTextBox1});
this.Text = "Error Provider Example";
// Create and set the ErrorProvider for each data entry control.
nameErrorProvider = new System.Windows.Forms.ErrorProvider();
nameErrorProvider.SetIconAlignment (this.nameTextBox1, ErrorIconAlignment.MiddleRight);
nameErrorProvider.SetIconPadding (this.nameTextBox1, 2);
nameErrorProvider.BlinkRate = 1000;
nameErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.AlwaysBlink;
ageErrorProvider = new System.Windows.Forms.ErrorProvider();
ageErrorProvider.SetIconAlignment (this.ageUpDownPicker, ErrorIconAlignment.MiddleRight);
ageErrorProvider.SetIconPadding (this.ageUpDownPicker, 2);
ageErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.BlinkIfDifferentError;
favoriteColorErrorProvider = new System.Windows.Forms.ErrorProvider();
favoriteColorErrorProvider.SetIconAlignment (this.favoriteColorComboBox, ErrorIconAlignment.MiddleRight);
favoriteColorErrorProvider.SetIconPadding (this.favoriteColorComboBox, 2);
favoriteColorErrorProvider.BlinkRate = 1000;
favoriteColorErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
}
private void nameTextBox1_Validated(object sender, System.EventArgs e)
{
if(IsNameValid())
{
// Clear the error, if any, in the error provider.
nameErrorProvider.SetError(this.nameTextBox1, String.Empty);
}
else
{
// Set the error if the name is not valid.
nameErrorProvider.SetError(this.nameTextBox1, "Name is required.");
}
}
private void ageUpDownPicker_Validated(object sender, System.EventArgs e)
{
if (IsAgeTooYoung())
{
// Set the error if the age is too young.
ageErrorProvider.SetError(this.ageUpDownPicker, "Age not old enough");
}
else if (IsAgeTooOld())
{
// Set the error if the age is too old.
ageErrorProvider.SetError(this.ageUpDownPicker, "Age is too old");
}
else
{
// Clear the error, if any, in the error provider.
ageErrorProvider.SetError(this.ageUpDownPicker, String.Empty);
}
}
private void favoriteColorComboBox_Validated(object sender, System.EventArgs e)
{
if (!IsColorValid())
{
// Set the error if the favorite color is not valid.
favoriteColorErrorProvider.SetError(this.favoriteColorComboBox, "Must select a color.");
}
else
{
// Clear the error, if any, in the error provider.
favoriteColorErrorProvider.SetError(this.favoriteColorComboBox, String.Empty);
}
}
// Functions to verify data.
private bool IsNameValid()
{
// Determine whether the text box contains a zero-length string.
return (nameTextBox1.Text.Length > 0);
}
private bool IsAgeTooYoung()
{
// Determine whether the age value is less than three.
return (ageUpDownPicker.Value < 3);
}
private bool IsAgeTooOld()
{
// Determine whether the age value is greater than five.
return (ageUpDownPicker.Value > 5 );
}
private bool IsColorValid()
{
// Determine whether the favorite color has a valid value.
return ((favoriteColorComboBox.SelectedItem != null) &&
(!favoriteColorComboBox.SelectedItem.ToString().Equals("None")));
}
}
}
Imports System.Drawing
Imports System.Windows.Forms
Namespace ErrorProvider
Public NotInheritable Class Form1
Inherits System.Windows.Forms.Form
Private label1 As System.Windows.Forms.Label
Private label2 As System.Windows.Forms.Label
Private label3 As System.Windows.Forms.Label
Private label4 As System.Windows.Forms.Label
Private label5 As System.Windows.Forms.Label
Private label6 As System.Windows.Forms.Label
Friend WithEvents favoriteColorComboBox As System.Windows.Forms.ComboBox
Friend WithEvents nameTextBox1 As System.Windows.Forms.TextBox
Friend WithEvents ageUpDownPicker As System.Windows.Forms.NumericUpDown
Private ageErrorProvider As System.Windows.Forms.ErrorProvider
Private nameErrorProvider As System.Windows.Forms.ErrorProvider
Private favoriteColorErrorProvider As System.Windows.Forms.ErrorProvider
<System.STAThread()> _
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New Form1())
End Sub
Public Sub New()
Me.nameTextBox1 = New System.Windows.Forms.TextBox()
Me.label1 = New System.Windows.Forms.Label()
Me.label2 = New System.Windows.Forms.Label()
Me.ageUpDownPicker = New System.Windows.Forms.NumericUpDown()
Me.favoriteColorComboBox = New System.Windows.Forms.ComboBox()
Me.label3 = New System.Windows.Forms.Label()
Me.label4 = New System.Windows.Forms.Label()
Me.label5 = New System.Windows.Forms.Label()
Me.label6 = New System.Windows.Forms.Label()
' Name Label
Me.label1.Location = New System.Drawing.Point(56, 32)
Me.label1.Size = New System.Drawing.Size(40, 23)
Me.label1.Text = "Name:"
' Age Label
Me.label2.Location = New System.Drawing.Point(40, 64)
Me.label2.Size = New System.Drawing.Size(56, 23)
Me.label2.Text = "Age (3-5)"
' Favorite Color Label
Me.label3.Location = New System.Drawing.Point(24, 96)
Me.label3.Size = New System.Drawing.Size(80, 24)
Me.label3.Text = "Favorite color"
' ErrorBlinkStyle.AlwaysBlink Label
Me.label4.Location = New System.Drawing.Point(264, 32)
Me.label4.Size = New System.Drawing.Size(160, 23)
Me.label4.Text = "ErrorBlinkStyle.AlwaysBlink"
' ErrorBlinkStyle.BlinkIfDifferentError Label
Me.label5.Location = New System.Drawing.Point(264, 64)
Me.label5.Size = New System.Drawing.Size(200, 23)
Me.label5.Text = "ErrorBlinkStyle.BlinkIfDifferentError"
' ErrorBlinkStyle.NeverBlink Label
Me.label6.Location = New System.Drawing.Point(264, 96)
Me.label6.Size = New System.Drawing.Size(200, 23)
Me.label6.Text = "ErrorBlinkStyle.NeverBlink"
' Name TextBox
Me.nameTextBox1.Location = New System.Drawing.Point(112, 32)
Me.nameTextBox1.Size = New System.Drawing.Size(120, 20)
Me.nameTextBox1.TabIndex = 0
' Age NumericUpDown
Me.ageUpDownPicker.Location = New System.Drawing.Point(112, 64)
Me.ageUpDownPicker.Maximum = New System.Decimal(New Integer() {150, 0, 0, 0})
Me.ageUpDownPicker.TabIndex = 4
' Favorite Color ComboBox
Me.favoriteColorComboBox.Items.AddRange(New Object() {"None", "Red", "Yellow", _
"Green", "Blue", "Purple"})
Me.favoriteColorComboBox.Location = New System.Drawing.Point(112, 96)
Me.favoriteColorComboBox.Size = New System.Drawing.Size(120, 21)
Me.favoriteColorComboBox.TabIndex = 5
' Set up how the form should be displayed and add the controls to the form.
Me.ClientSize = New System.Drawing.Size(464, 150)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.label6, Me.label5, Me.label4, _
Me.label3, Me.favoriteColorComboBox, Me.ageUpDownPicker, Me.label2, _
Me.label1, Me.nameTextBox1})
Me.Text = "Error Provider Example"
' Create and set the ErrorProvider for each data entry control.
nameErrorProvider = New System.Windows.Forms.ErrorProvider()
nameErrorProvider.SetIconAlignment(Me.nameTextBox1, ErrorIconAlignment.MiddleRight)
nameErrorProvider.SetIconPadding(Me.nameTextBox1, 2)
nameErrorProvider.BlinkRate = 1000
nameErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.AlwaysBlink
ageErrorProvider = New System.Windows.Forms.ErrorProvider()
ageErrorProvider.SetIconAlignment(Me.ageUpDownPicker, ErrorIconAlignment.MiddleRight)
ageErrorProvider.SetIconPadding(Me.ageUpDownPicker, 2)
ageErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.BlinkIfDifferentError
favoriteColorErrorProvider = New System.Windows.Forms.ErrorProvider()
favoriteColorErrorProvider.SetIconAlignment(Me.favoriteColorComboBox, ErrorIconAlignment.MiddleRight)
favoriteColorErrorProvider.SetIconPadding(Me.favoriteColorComboBox, 2)
favoriteColorErrorProvider.BlinkRate = 1000
favoriteColorErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink
End Sub
Private Sub nameTextBox1_Validated(sender As Object, e As System.EventArgs) Handles nameTextBox1.Validated
If IsNameValid() Then
' Clear the error, if any, in the error provider.
nameErrorProvider.SetError(Me.nameTextBox1, String.Empty)
Else
' Set the error if the name is not valid.
nameErrorProvider.SetError(Me.nameTextBox1, "Name is required.")
End If
End Sub
Private Sub ageUpDownPicker_Validated(sender As Object, e As System.EventArgs) Handles ageUpDownPicker.Validated
If IsAgeTooYoung() Then
' Set the error if the age is too young.
ageErrorProvider.SetError(Me.ageUpDownPicker, "Age not old enough")
ElseIf IsAgeTooOld() Then
' Set the error if the age is too old.
ageErrorProvider.SetError(Me.ageUpDownPicker, "Age is too old")
Else
' Clear the error, if any, in the error provider.
ageErrorProvider.SetError(Me.ageUpDownPicker, String.Empty)
End If
End Sub
Private Sub favoriteColorComboBox_Validated(sender As Object, e As System.EventArgs) Handles favoriteColorComboBox.Validated
If Not IsColorValid() Then
' Set the error if the favorite color is not valid.
favoriteColorErrorProvider.SetError(Me.favoriteColorComboBox, "Must select a color.")
Else
' Clear the error, if any, in the error provider.
favoriteColorErrorProvider.SetError(Me.favoriteColorComboBox, String.Empty)
End If
End Sub
' Functions to verify data.
Private Function IsNameValid() As Boolean
' Determine whether the text box contains a zero-length string.
Return nameTextBox1.Text.Length > 0
End Function
Private Function IsAgeTooYoung() As Boolean
' Determine whether the age value is less than three.
Return ageUpDownPicker.Value < 3
End Function
Private Function IsAgeTooOld() As Boolean
' Determine whether the age value is greater than five.
Return ageUpDownPicker.Value > 5
End Function
Private Function IsColorValid() As Boolean
' Determine whether the favorite color has a valid value.
If (favoriteColorComboBox.SelectedItem IsNot Nothing) Then
If Not(favoriteColorComboBox.SelectedItem.ToString().Equals("None")) Then
Return true
End If
End If
Return false
End Function
End Class
End Namespace 'ErrorProvider
В следующем примере кода показано, как использовать ErrorProvider его и DataSourceDataMember указывать на ошибку данных пользователю.
private:
void InitializeComponent()
{
// Standard control setup.
//....
// You set the DataSource to a data set, and the DataMember to a table.
errorProvider1->DataSource = dataSet1;
errorProvider1->DataMember = dataTable1->TableName;
errorProvider1->ContainerControl = this;
errorProvider1->BlinkRate = 200;
//...
// Since the ErrorProvider control does not have a visible component,
// it does not need to be added to the form.
}
private:
void buttonSave_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Checks for a bad post code.
DataTable^ CustomersTable;
CustomersTable = dataSet1->Tables[ "Customers" ];
System::Collections::IEnumerator^ myEnum = (CustomersTable->Rows)->GetEnumerator();
while ( myEnum->MoveNext() )
{
DataRow^ row = safe_cast<DataRow^>(myEnum->Current);
if ( Convert::ToBoolean( row[ "PostalCodeIsNull" ] ) )
{
row->RowError = "The Customer details contain errors";
row->SetColumnError( "PostalCode", "Postal Code required" );
}
}
}
private void InitializeComponent()
{
// Standard control setup.
//....
// You set the DataSource to a data set, and the DataMember to a table.
errorProvider1.DataSource = dataSet1 ;
errorProvider1.DataMember = dataTable1.TableName ;
errorProvider1.ContainerControl = this ;
errorProvider1.BlinkRate = 200 ;
//...
// Since the ErrorProvider control does not have a visible component,
// it does not need to be added to the form.
}
private void buttonSave_Click(object sender, System.EventArgs e)
{
// Checks for a bad post code.
DataTable CustomersTable;
CustomersTable = dataSet1.Tables["Customers"];
foreach (DataRow row in (CustomersTable.Rows))
{
if (Convert.ToBoolean(row["PostalCodeIsNull"]))
{
row.RowError="The Customer details contain errors";
row.SetColumnError("PostalCode", "Postal Code required");
}
}
}
Private Sub InitializeComponent()
' Standard control setup.
'....
' You set the DataSource to a data set, and the DataMember to a table.
errorProvider1.DataSource = dataSet1
errorProvider1.DataMember = dataTable1.TableName
errorProvider1.ContainerControl = Me
errorProvider1.BlinkRate = 200
End Sub
'...
' Since the ErrorProvider control does not have a visible component,
' it does not need to be added to the form.
Private Sub buttonSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
' Checks for a bad post code.
Dim CustomersTable As DataTable
CustomersTable = dataSet1.Tables("Customers")
Dim row As DataRow
For Each row In CustomersTable.Rows
If Convert.ToBoolean(row("PostalCodeIsNull")) Then
row.RowError = "The Customer details contain errors"
row.SetColumnError("PostalCode", "Postal Code required")
End If
Next row
End Sub
Комментарии
ErrorProvider представляет простой механизм для указания пользователю, что элемент управления в форме имеет с ним ошибку. Если для элемента управления указана строка описания ошибки, рядом с элементом управления появится значок. Значок мигает таким образом, в соответствии с частотой, указанной BlinkStyleв параметре BlinkRate. При наведении указателя мыши на значок отображается подсказка, показывающая строку описания ошибки.
Как правило, вы используете ErrorProvider в связи с элементами управления с привязкой к данным. При использовании ErrorProvider с элементами управления с привязкой к данным необходимо указать ContainerControlего либо в конструкторе, либо путем задания ContainerControl свойства.
Замечание
Компонент ErrorProvider не предоставляет встроенную поддержку для клиентов специальных возможностей. Чтобы сделать приложение доступным при использовании этого компонента, необходимо предоставить дополнительный механизм обратной связи.
Конструкторы
| Имя | Описание |
|---|---|
| ErrorProvider() |
Инициализирует новый экземпляр ErrorProvider класса и инициализирует параметры по умолчанию для BlinkRate, BlinkStyleа также Icon. |
| ErrorProvider(ContainerControl) |
Инициализирует новый экземпляр класса, присоединенного ErrorProvider к контейнеру. |
| ErrorProvider(IContainer) |
Инициализирует новый экземпляр класса, присоединенного ErrorProvider к IContainer реализации. |
Свойства
| Имя | Описание |
|---|---|
| BlinkRate |
Возвращает или задает скорость, с которой мигает значок ошибки. |
| BlinkStyle |
Возвращает или задает значение, указывающее, когда значок ошибки мигает. |
| CanRaiseEvents |
Возвращает значение, указывающее, может ли компонент вызвать событие. (Унаследовано от Component) |
| Container |
Возвращает объект IContainer , содержащий Componentобъект . (Унаследовано от Component) |
| ContainerControl |
Возвращает или задает значение, указывающее родительский элемент управления для этого ErrorProvider. |
| DataMember |
Возвращает или задает список в источнике данных для мониторинга. |
| DataSource |
Возвращает или задает источник данных, который ErrorProvider мониторы. |
| DesignMode |
Возвращает значение, указывающее, находится ли текущий Component режим разработки. (Унаследовано от Component) |
| Events |
Возвращает список обработчиков событий, подключенных к этому Component. (Унаследовано от Component) |
| HasErrors |
Возвращает значение, указывающее, есть ли ErrorProvider ошибки для любого связанного элемента управления. |
| Icon |
Возвращает или задает Icon объект, отображаемый рядом с элементом управления при установке строки описания ошибки для элемента управления. |
| RightToLeft |
Возвращает или задает значение, указывающее, используется ли компонент в языковом стандарте, поддерживающем шрифты справа налево. |
| Site | |
| Tag |
Возвращает или задает объект, содержащий данные о компоненте. |
Методы
| Имя | Описание |
|---|---|
| BindToDataAndErrors(Object, String) |
Предоставляет метод, который можно задать как во время выполнения, DataSource так и DataMember во время выполнения. |
| CanExtend(Object) |
Возвращает значение, указывающее, может ли элемент управления быть расширен. |
| Clear() |
Очищает все параметры, связанные с этим компонентом. |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Dispose() |
Освобождает все ресурсы, используемые параметром Component. (Унаследовано от Component) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые Component и при необходимости освобождает управляемые ресурсы. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetError(Control) |
Возвращает текущую строку описания ошибки для указанного элемента управления. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetIconAlignment(Control) |
Получает значение, указывающее, где должен размещаться значок ошибки относительно элемента управления. |
| GetIconPadding(Control) |
Возвращает количество дополнительного места, которое нужно оставить рядом со значком ошибки. |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetService(Type) |
Возвращает объект, представляющий службу, предоставляемую Component или ее Container. (Унаследовано от Component) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| OnRightToLeftChanged(EventArgs) |
Вызывает событие RightToLeftChanged. |
| SetError(Control, String) |
Задает строку описания ошибки для указанного элемента управления. |
| SetIconAlignment(Control, ErrorIconAlignment) |
Задает расположение, в котором должен размещаться значок ошибки относительно элемента управления. |
| SetIconPadding(Control, Int32) |
Задает объем дополнительного места для выхода между указанным элементом управления и значком ошибки. |
| ToString() |
String Возвращает имя, содержащее имя , если таковое Componentимеется. Этот метод не должен быть переопределен. (Унаследовано от Component) |
| UpdateBinding() |
Предоставляет метод для обновления привязок DataSourceи DataMemberтекста ошибки. |
События
| Имя | Описание |
|---|---|
| Disposed |
Происходит при удалении компонента вызовом Dispose() метода. (Унаследовано от Component) |
| RightToLeftChanged |
Происходит при RightToLeft изменении значения свойства. |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| ISupportInitialize.BeginInit() |
Сигнализирует объекту о запуске инициализации. |
| ISupportInitialize.EndInit() |
Сигнализирует объекту о завершении инициализации. |