ErrorProvider Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides a user interface for indicating that a control on a form has an error associated with it.
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
- Inheritance
- Attributes
- Implements
Examples
The following code example demonstrates using the ErrorProvider class to notify the user of a data entry error. The example creates a Form that contains a TextBox control, a NumericUpDown control, and a ComboBox control, each validating its content, and an ErrorProvider for each control. The example sets error icon options using the BlinkRate and BlinkStyle properties and the SetIconAlignment and SetIconPadding methods. The SetError method is called with or without appropriate error text during a control's Validated event, depending upon the content in the control.
#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
The following code example shows how to use the ErrorProvider with a DataSource and DataMember to indicate a data error to the user.
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
Remarks
ErrorProvider presents a simple mechanism for indicating to the end user that a control on a form has an error associated with it. If an error description string is specified for the control, an icon appears next to the control. The icon flashes in the manner specified by BlinkStyle, at the rate specified by BlinkRate. When the mouse hovers over the icon, a ToolTip appears showing the error description string.
Typically, you use ErrorProvider in association with data-bound controls. When using ErrorProvider with data-bound controls, you must specify the ContainerControl, either in the constructor or by setting the ContainerControl property.
Note
The ErrorProvider component does not provide built-in support for accessibility clients. To make your application accessible when using this component, you must provide an additional, accessible feedback mechanism.
Constructors
ErrorProvider() |
Initializes a new instance of the ErrorProvider class and initializes the default settings for BlinkRate, BlinkStyle, and the Icon. |
ErrorProvider(ContainerControl) |
Initializes a new instance of the ErrorProvider class attached to a container. |
ErrorProvider(IContainer) |
Initializes a new instance of the ErrorProvider class attached to an IContainer implementation. |
Properties
BlinkRate |
Gets or sets the rate at which the error icon flashes. |
BlinkStyle |
Gets or sets a value indicating when the error icon flashes. |
CanRaiseEvents |
Gets a value indicating whether the component can raise an event. (Inherited from Component) |
Container |
Gets the IContainer that contains the Component. (Inherited from Component) |
ContainerControl |
Gets or sets a value indicating the parent control for this ErrorProvider. |
DataMember |
Gets or sets the list within a data source to monitor. |
DataSource |
Gets or sets the data source that the ErrorProvider monitors. |
DesignMode |
Gets a value that indicates whether the Component is currently in design mode. (Inherited from Component) |
Events |
Gets the list of event handlers that are attached to this Component. (Inherited from Component) |
HasErrors |
Gets a value that indicates if this ErrorProvider has any errors for any of the associated controls. |
Icon |
Gets or sets the Icon that is displayed next to a control when an error description string has been set for the control. |
RightToLeft |
Gets or sets a value that indicates whether the component is used in a locale that supports right-to-left fonts. |
Site | |
Tag |
Gets or sets an object that contains data about the component. |
Methods
BindToDataAndErrors(Object, String) |
Provides a method to set both the DataSource and DataMember at run time. |
CanExtend(Object) |
Gets a value indicating whether a control can be extended. |
Clear() |
Clears all settings associated with this component. |
CreateObjRef(Type) |
Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject) |
Dispose() |
Releases all resources used by the Component. (Inherited from Component) |
Dispose(Boolean) |
Releases the unmanaged resources used by the Component and optionally releases the managed resources. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetError(Control) |
Returns the current error description string for the specified control. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetIconAlignment(Control) |
Gets a value indicating where the error icon should be placed in relation to the control. |
GetIconPadding(Control) |
Returns the amount of extra space to leave next to the error icon. |
GetLifetimeService() |
Obsolete.
Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject) |
GetService(Type) |
Returns an object that represents a service provided by the Component or by its Container. (Inherited from Component) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
InitializeLifetimeService() |
Obsolete.
Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
MemberwiseClone(Boolean) |
Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject) |
OnRightToLeftChanged(EventArgs) |
Raises the RightToLeftChanged event. |
SetError(Control, String) |
Sets the error description string for the specified control. |
SetIconAlignment(Control, ErrorIconAlignment) |
Sets the location where the error icon should be placed in relation to the control. |
SetIconPadding(Control, Int32) |
Sets the amount of extra space to leave between the specified control and the error icon. |
ToString() |
Returns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from Component) |
UpdateBinding() |
Provides a method to update the bindings of the DataSource, DataMember, and the error text. |
Events
Disposed |
Occurs when the component is disposed by a call to the Dispose() method. (Inherited from Component) |
RightToLeftChanged |
Occurs when the RightToLeft property changes value. |
Explicit Interface Implementations
ISupportInitialize.BeginInit() |
Signals the object that initialization is starting. |
ISupportInitialize.EndInit() |
Signals the object that initialization is complete. |