Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original

ErrorProvider-Klasse

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

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.

  NameBeschreibung
Öffentliche MethodeErrorProvider()Initialisiert eine neue Instanz der ErrorProvider-Klasse und die Standardeinstellungen für die BlinkRate, BlinkStyle und das Icon.
Öffentliche MethodeErrorProvider(ContainerControl)Initialisiert eine neue Instanz der ErrorProvider-Klasse, die einem Container angefügt ist.
Öffentliche MethodeErrorProvider(IContainer)Initialisiert eine neue Instanz der ErrorProvider-Klasse, die einer IContainer-Implementierung angefügt ist.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftBlinkRateRuft die Frequenz ab, in der das Fehlersymbol blinkt, oder legt diese fest.
Öffentliche EigenschaftBlinkStyleRuft einen Wert ab, der angibt, wann das Fehlersymbol blinkt, oder legt diesen fest.
Geschützte EigenschaftCanRaiseEventsRuft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Von Component geerbt.)
Öffentliche EigenschaftContainerRuft den IContainer ab, der die Component enthält. (Von Component geerbt.)
Öffentliche EigenschaftContainerControlRuft einen Wert ab, der das übergeordnete Steuerelement für diesen ErrorProvider angibt, oder legt diesen fest.
Öffentliche EigenschaftDataMemberRuft die zu überwachende Liste in einer Datenquelle ab oder legt diese fest.
Öffentliche EigenschaftDataSourceRuft die Datenquelle ab, die der ErrorProvider überwacht, oder legt diese fest.
Geschützte EigenschaftDesignModeRuft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet. (Von Component geerbt.)
Geschützte EigenschaftEventsRuft die Liste der Ereignishandler ab, die dieser Component angefügt sind. (Von Component geerbt.)
Öffentliche EigenschaftIconRuft 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 EigenschaftRightToLeftRuft einen Wert ab, der angibt, ob die Komponente in einem Gebietsschema verwendet wird, das von rechts nach links geschriebene Schriftarten unterstützt.
Öffentliche EigenschaftSiteRuft die ISite der Component ab oder legt diese fest. (Überschreibt Component.Site.)
Öffentliche EigenschaftTagRuft ein Objekt ab, das Daten über die Komponente enthält, oder legt dieses fest.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeBindToDataAndErrorsStellt eine Methode für das Festlegen der DataSource und des DataMember zur Laufzeit bereit.
Öffentliche MethodeCanExtendRuft einen Wert ab, der angibt, ob ein Steuerelement erweitert werden kann.
Öffentliche MethodeClearLöscht alle dieser Komponente zugeordneten Einstellungen.
Öffentliche MethodeCreateObjRefErstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Öffentliche MethodeDispose() Gibt alle von Component verwendeten Ressourcen frei. (Von Component geerbt.)
Geschützte MethodeDispose(Boolean)Gibt die vom Component verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. (Überschreibt Component.Dispose(Boolean).)
Öffentliche MethodeEquals(Object) Bestimmt, ob das übergegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte MethodeFinalize Gibt nicht verwaltete Ressourcen frei und führt andere Bereinigungsvorgänge durch, bevor die Component durch den Garbage Collector entfernt wird. (Von Component geerbt.)
Öffentliche MethodeGetErrorGibt die aktuelle Zeichenfolge zur Fehlerbeschreibung für das angegebene Steuerelement zurück.
Öffentliche MethodeGetHashCodeFungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche MethodeGetIconAlignmentRuft einen Wert ab, der angibt, an welcher Position das Fehlersymbol relativ zum Steuerelement platziert werden soll.
Öffentliche MethodeGetIconPaddingGibt den zusätzlichen Zwischenraum zurück, der neben dem Fehlersymbol eingefügt wird.
Öffentliche MethodeGetLifetimeServiceRuft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Geschützte MethodeGetServiceGibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt. (Von Component geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeInitializeLifetimeServiceRuft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Geschützte MethodeMemberwiseClone()Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte MethodeMemberwiseClone(Boolean)Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Geschützte MethodeOnRightToLeftChangedLöst das RightToLeftChanged-Ereignis aus.
Öffentliche MethodeSetErrorLegt die Zeichenfolge zur Fehlerbeschreibung für das angegebene Steuerelement fest.
Öffentliche MethodeSetIconAlignmentLegt die Position fest, an der das Fehlersymbol relativ zum Steuerelement platziert werden soll.
Öffentliche MethodeSetIconPaddingLegt den zusätzlichen Leerraum zwischen dem angegebenen Steuerelement und dem Fehlersymbol fest.
Öffentliche MethodeToString Gibt einen String zurück, der den Namen dieser Componente enthält, sofern vorhanden. Diese Methode sollte nicht überschrieben werden. (Von Component geerbt.)
Öffentliche MethodeUpdateBindingStellt eine Methode zum Aktualisieren der Bindungen der DataSource, des DataMember und des Fehlertextes bereit.
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisDisposed Wird ausgelöst, wenn die Komponente durch einen Aufruf der Dispose-Methode freigegeben wird. (Von Component geerbt.)
Öffentliches EreignisRightToLeftChangedTritt ein, wenn sich der Wert der RightToLeft-Eigenschaft ändert.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeISupportInitialize.BeginInitSignalisiert dem Objekt den Start der Initialisierung.
Explizite SchnittstellenimplementierungPrivate MethodeISupportInitialize.EndInitSignalisiert 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.

HinweisHinweis

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.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft