Partilhar via


ErrorProvider Classe

Definição

Fornece uma interface do usuário para indicar que há um erro associado a um controle em um formulário.

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
Herança
Atributos
Implementações

Exemplos

O exemplo de código a seguir demonstra como usar a ErrorProvider classe para notificar o usuário sobre um erro de entrada de dados. O exemplo cria um Form que contém um TextBox controle, um NumericUpDown controle e um controle, cada um ComboBox validando seu conteúdo e um ErrorProvider para cada controle. O exemplo define opções de ícone de erro usando as BlinkRate propriedades e BlinkStyle e os SetIconAlignment métodos e SetIconPadding . O SetError método é chamado com ou sem o texto de erro apropriado durante o evento de Validated um controle, dependendo do conteúdo no controle.

#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

O exemplo de código a seguir mostra como usar o ErrorProvider com um DataSource e DataMember para indicar um erro de dados para o usuário.

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

Comentários

ErrorProvider apresenta um mecanismo simples para indicar ao usuário final que um controle em um formulário tem um erro associado a ele. Se uma cadeia de caracteres de descrição de erro for especificada para o controle, um ícone será exibido ao lado do controle . O ícone pisca da maneira especificada por BlinkStyle, na taxa especificada por BlinkRate. Quando o mouse passa o mouse sobre o ícone, uma Dica de Ferramenta é exibida mostrando a cadeia de caracteres de descrição do erro.

Normalmente, você usa ErrorProvider em associação com controles associados a dados. Ao usar ErrorProvider com controles associados a dados, você deve especificar o ContainerControl, seja no construtor ou definindo a ContainerControl propriedade .

Observação

O ErrorProvider componente não fornece suporte interno para clientes de acessibilidade. Para tornar seu aplicativo acessível ao usar esse componente, você deve fornecer um mecanismo de comentários acessível adicional.

Construtores

ErrorProvider()

Inicializa uma nova instância da classe ErrorProvider e inicializa as configurações padrão para BlinkRate, BlinkStyle e o Icon.

ErrorProvider(ContainerControl)

Inicializa uma nova instância da classe ErrorProvider anexada a um contêiner.

ErrorProvider(IContainer)

Inicializa uma nova instância da classe ErrorProvider anexada a uma implementação IContainer.

Propriedades

BlinkRate

Obtém ou define a taxa à qual o ícone de erro pisca.

BlinkStyle

Obtém ou define um valor que indica quando o ícone de erro pisca.

CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
ContainerControl

Obtém ou define um valor que indica o controle pai para este ErrorProvider.

DataMember

Obtém ou define a lista em uma fonte de dados a ser monitorada.

DataSource

Obtém ou define a fonte de dados que o ErrorProvider monitora.

DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.

(Herdado de Component)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.

(Herdado de Component)
HasErrors

Obtém um valor que indica se isso ErrorProvider tem erros para qualquer um dos controles associados.

Icon

Obtém ou define o Icon que é exibido ao lado de um controle quando uma cadeia de caracteres de descrição de erro está definida para o controle.

RightToLeft

Obtém ou define um valor que indica se o componente é usado em uma localidade compatível com fontes da direita para a esquerda.

Site

Obtém ou define o ISite do Component.

Tag

Obtém ou define um objeto que contém dados sobre o componente.

Métodos

BindToDataAndErrors(Object, String)

Fornece um método para definir ambos os DataSource e DataMember no tempo de execução.

CanExtend(Object)

Obtém um valor que indica se um controle pode ser estendido.

Clear()

Limpa todas as configurações associadas a esse componente.

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetError(Control)

Retorna a cadeia de caracteres de descrição de erro atual para o controle especificado.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetIconAlignment(Control)

Obtém um valor que indica onde o ícone de erro deve ser colocado em relação ao controle.

GetIconPadding(Control)

Retorna a quantidade de espaço extra deixada ao lado do ícone de erro.

GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
OnRightToLeftChanged(EventArgs)

Aciona o evento RightToLeftChanged.

SetError(Control, String)

Define a cadeia de caracteres de descrição de erro para o controle especificado.

SetIconAlignment(Control, ErrorIconAlignment)

Define o local em que o ícone de erro deve ser colocado em relação ao controle.

SetIconPadding(Control, Int32)

Define a quantidade de espaço extra a ser mantida entre o controle especificado e o ícone de erro.

ToString()

Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído.

(Herdado de Component)
UpdateBinding()

Fornece um método para atualizar as associações do DataSource, DataMember e o texto do erro.

Eventos

Disposed

Ocorre quando o componente é disposto por uma chamada ao método Dispose().

(Herdado de Component)
RightToLeftChanged

Ocorre quando o valor da propriedade RightToLeft muda.

Implantações explícitas de interface

ISupportInitialize.BeginInit()

Sinaliza o objeto de que a inicialização está sendo iniciada.

ISupportInitialize.EndInit()

Sinaliza o objeto de que a inicialização está sendo concluída.

Aplica-se a