Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ErrorProvider-Klasse

Bietet eine Benutzeroberfläche, über die angezeigt werden kann, dass für ein Steuerelement auf einem Formular ein zugeordneter Fehler vorliegt.

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Windows.Forms.ErrorProvider

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
[ComplexBindingPropertiesAttribute("DataSource", "DataMember")]
public class ErrorProvider : Component, 
	IExtenderProvider, ISupportInitialize

Der ErrorProvider-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Methode ErrorProvider() Initialisiert eine neue Instanz der ErrorProvider-Klasse und die Standardeinstellungen für die BlinkRate, BlinkStyle und das Icon.
Öffentliche Methode ErrorProvider(ContainerControl) Initialisiert eine neue Instanz der ErrorProvider-Klasse, die einem Container angefügt ist.
Öffentliche Methode ErrorProvider(IContainer) Initialisiert eine neue Instanz der ErrorProvider-Klasse, die einer IContainer-Implementierung angefügt ist.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft BlinkRate Ruft die Frequenz ab, in der das Fehlersymbol blinkt, oder legt diese fest.
Öffentliche Eigenschaft BlinkStyle Ruft einen Wert ab, der angibt, wann das Fehlersymbol blinkt, oder legt diesen fest.
Geschützte Eigenschaft CanRaiseEvents Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Von Component geerbt.)
Öffentliche Eigenschaft Container Ruft den IContainer ab, der die Component enthält. (Von Component geerbt.)
Öffentliche Eigenschaft ContainerControl Ruft einen Wert ab, der das übergeordnete Steuerelement für diesen ErrorProvider angibt, oder legt diesen fest.
Öffentliche Eigenschaft DataMember Ruft die zu überwachende Liste in einer Datenquelle ab oder legt diese fest.
Öffentliche Eigenschaft DataSource Ruft die Datenquelle ab, die der ErrorProvider überwacht, oder legt diese fest.
Geschützte Eigenschaft DesignMode Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet. (Von Component geerbt.)
Geschützte Eigenschaft Events Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind. (Von Component geerbt.)
Öffentliche Eigenschaft Icon Ruft das Icon ab, das neben einem Steuerelement angezeigt wird, wenn für das Steuerelement eine Zeichenfolge zur Fehlerbeschreibung festgelegt wurde, oder legt dieses fest.
Öffentliche Eigenschaft RightToLeft Ruft einen Wert ab, der angibt, ob die Komponente in einem Gebietsschema verwendet wird, das von rechts nach links geschriebene Schriftarten unterstützt.
Öffentliche Eigenschaft Site Ruft die ISite der Component ab oder legt diese fest. (Überschreibt Component.Site.)
Öffentliche Eigenschaft Tag Ruft ein Objekt ab, das Daten über die Komponente enthält, oder legt dieses fest.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode BindToDataAndErrors Stellt eine Methode für das Festlegen der DataSource und des DataMember zur Laufzeit bereit.
Öffentliche Methode CanExtend Ruft einen Wert ab, der angibt, ob ein Steuerelement erweitert werden kann.
Öffentliche Methode Clear Löscht alle dieser Komponente zugeordneten Einstellungen.
Öffentliche Methode CreateObjRef Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Öffentliche Methode Dispose() Gibt sämtliche von der Component verwendeten Ressourcen frei. (Von Component geerbt.)
Geschützte Methode Dispose(Boolean) Gibt die vom Component verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. (Überschreibt Component.Dispose(Boolean).)
Öffentliche Methode Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt nicht verwaltete Ressourcen frei und führt andere Bereinigungsvorgänge durch, bevor die Component durch die Garbage Collection wieder zugänglich gemacht wird. (Von Component geerbt.)
Öffentliche Methode GetError Gibt die aktuelle Zeichenfolge zur Fehlerbeschreibung für das angegebene Steuerelement zurück.
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetIconAlignment Ruft einen Wert ab, der angibt, an welcher Position das Fehlersymbol relativ zum Steuerelement platziert werden soll.
Öffentliche Methode GetIconPadding Gibt den zusätzlichen Zwischenraum zurück, der neben dem Fehlersymbol eingefügt wird.
Öffentliche Methode GetLifetimeService Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Geschützte Methode GetService Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt. (Von Component geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode InitializeLifetimeService Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Geschützte Methode MemberwiseClone() Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode MemberwiseClone(Boolean) Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Geschützte Methode OnRightToLeftChanged Löst das RightToLeftChanged-Ereignis aus.
Öffentliche Methode SetError Legt die Zeichenfolge zur Fehlerbeschreibung für das angegebene Steuerelement fest.
Öffentliche Methode SetIconAlignment Legt die Position fest, an der das Fehlersymbol relativ zum Steuerelement platziert werden soll.
Öffentliche Methode SetIconPadding Legt den zusätzlichen Leerraum zwischen dem angegebenen Steuerelement und dem Fehlersymbol fest.
Öffentliche Methode ToString Gibt einen String zurück, der den Namen dieser Component enthält, sofern vorhanden. Diese Methode sollte nicht überschrieben werden. (Von Component geerbt.)
Öffentliche Methode UpdateBinding Stellt eine Methode zum Aktualisieren der Bindungen der DataSource, des DataMember und des Fehlertextes bereit.
Zum Seitenanfang
  Name Beschreibung
Öffentliches Ereignis Disposed Tritt ein, wenn die Komponente durch einen Aufruf der Dispose-Methode freigegeben wird. (Von Component geerbt.)
Öffentliches Ereignis RightToLeftChanged Tritt ein, wenn sich der Wert der RightToLeft-Eigenschaft ändert.
Zum Seitenanfang
  Name Beschreibung
Explizite Schnittstellenimplementierung Private Methode ISupportInitialize.BeginInit Signalisiert dem Objekt den Start der Initialisierung.
Explizite Schnittstellenimplementierung Private Methode ISupportInitialize.EndInit Signalisiert dem Objekt den Abschluss der Initialisierung.
Zum Seitenanfang

Der ErrorProvider stellt einen einfachen Mechanismus bereit, mit dem Endbenutzern angezeigt werden kann, dass einem Steuerelement in einem Formular ein Fehler zugeordnet ist. Wenn für das Steuerelement eine Zeichenfolge zur Fehlerbeschreibung angegeben ist, wird neben dem Steuerelement ein Symbol angezeigt. Das Symbol blinkt auf die durch den BlinkStyle angegebene Art und in der von der BlinkRate angegebenen Frequenz. Wenn mit dem Mauszeiger auf das Symbol gezeigt wird, wird in einer QuickInfo die Zeichenfolge zur Fehlerbeschreibung angezeigt.

In der Regel wird der ErrorProvider in Verbindung mit datengebundenen Steuerelementen verwendet. Bei Verwendung des ErrorProvider mit datengebundenen Steuerelementen müssen Sie das ContainerControl entweder im Konstruktor oder durch Festlegen der ContainerControl-Eigenschaft angeben.

Hinweis Hinweis

Die ErrorProvider-Komponente bietet keine integrierte Unterstützung für Clients für die Barrierefreiheit. Wenn Ihre Anwendung bei der Verwendung dieser Komponente barrierefrei sein soll, müssen Sie einen zusätzlichen barrierefreien Feedbackmechanismus bereitstellen.

Im folgenden Codebeispiel wird veranschaulicht, wie Benutzer mithilfe der ErrorProvider-Klasse über einen Dateneingabefehler benachrichtigt werden. Im Beispiel wird ein Form erstellt, das ein TextBox-Steuerelement, ein NumericUpDown-Steuerelement und ein ComboBox-Steuerelement enthält, die jeweils ihren eigenen Inhalt validieren. Außerdem wird ein ErrorProvider für jedes Steuerelement erstellt. Im Beispiel werden Optionen für Fehlersymbole mithilfe der BlinkRate-Eigenschaft und der BlinkStyle-Eigenschaft sowie der SetIconAlignment-Methode und der SetIconPadding-Methode festgelegt. Die SetError-Methode wird je nach Inhalt des Steuerelements mit oder ohne entsprechenden Fehlertext während des Validated-Ereignisses eines Steuerelements aufgerufen.


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")));
        }
    }
}


Im folgenden Codebeispiel wird gezeigt, wie der ErrorProvider mit einer DataSource und einem DataMember zum Anzeigen eines Datenfehlers verwendet wird.


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");
         } 
     } 
 }



.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ