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

ApplicationSettingsBase-Klasse

Fungiert als Basisklasse für das Ableiten konkreter Wrapperklassen, um das Anwendungseinstellungsfeature in Windows Forms-Anwendungen zu implementieren.

System.Object
  System.Configuration.SettingsBase
    System.Configuration.ApplicationSettingsBase

Namespace:  System.Configuration
Assembly:  System (in System.dll)

public abstract class ApplicationSettingsBase : SettingsBase, 
	INotifyPropertyChanged

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

  NameBeschreibung
Geschützte MethodeApplicationSettingsBase()Initialisiert eine Instanz der ApplicationSettingsBase-Klasse mit ihrem Standardzustand.
Geschützte MethodeApplicationSettingsBase(IComponent)Initialisiert mithilfe der angegebenen Besitzerkomponente eine Instanz der ApplicationSettingsBase-Klasse.
Geschützte MethodeApplicationSettingsBase(String)Initialisiert mithilfe des angegebenen Einstellungsschlüssels eine Instanz der ApplicationSettingsBase-Klasse.
Geschützte MethodeApplicationSettingsBase(IComponent, String)Initialisiert mithilfe der angegebenen Besitzerkomponente und des Einstellungsschlüssels eine Instanz der ApplicationSettingsBase-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftContextRuft den der Einstellungsgruppe zugeordneten Anwendungseinstellungskontext ab. (Überschreibt SettingsBase.Context.)
Öffentliche EigenschaftIsSynchronizedRuft einen Wert ab, der angibt, ob der Zugriff auf das Objekt synchronisiert (threadsicher) ist. (Von SettingsBase geerbt.)
Öffentliche EigenschaftItemRuft den Wert der angegebenen Anwendungseinstellungseigenschaft ab oder legt diesen fest. (Überschreibt SettingsBase.Item.)
Öffentliche EigenschaftPropertiesRuft die Auflistung der Einstellungseigenschaften im Wrapper ab. (Überschreibt SettingsBase.Properties.)
Öffentliche EigenschaftPropertyValuesRuft eine Auflistung von Eigenschaftswerten ab. (Überschreibt SettingsBase.PropertyValues.)
Öffentliche EigenschaftProvidersRuft die Auflistung der vom Wrapper verwendeten Anwendungseinstellungsanbieter ab. (Überschreibt SettingsBase.Providers.)
Öffentliche EigenschaftSettingsKeyRuft den Einstellungsschlüssel für die Anwendungseinstellungsgruppe ab oder legt ihn fest.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetPreviousVersionGibt den Wert der benannten Einstellungseigenschaft für die vorherige Version derselben Anwendung zurück.
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeInitializeInitialisiert vom SettingsBase-Objekt verwendete interne Eigenschaften. (Von SettingsBase geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte MethodeOnPropertyChangedLöst das PropertyChanged-Ereignis aus.
Geschützte MethodeOnSettingChangingLöst das SettingChanging-Ereignis aus.
Geschützte MethodeOnSettingsLoadedLöst das SettingsLoaded-Ereignis aus.
Geschützte MethodeOnSettingsSavingLöst das SettingsSaving-Ereignis aus.
Öffentliche MethodeReloadAktualisiert die Werte der Anwendungseinstellungseigenschaft aus dem permanenten Speicher.
Öffentliche MethodeResetStellt die beibehaltenen Anwendungseinstellungswerte mit den entsprechenden Standardeigenschaften wieder her.
Öffentliche MethodeSaveSpeichert die aktuellen Werte der Anwendungseinstellungseigenschaften. (Überschreibt SettingsBase.Save().)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeUpgradeAktualisiert Anwendungseinstellungen, um eine aktuellere Installation der Anwendung wiederzugeben.
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisPropertyChangedTritt ein, nachdem der Wert einer Anwendungseinstellungseigenschaft geändert wurde.
Öffentliches EreignisSettingChangingTritt ein, bevor der Wert einer Anwendungseinstellungseigenschaft geändert wurde.
Öffentliches EreignisSettingsLoadedTritt ein, nachdem die Anwendungseinstellungen vom Speicher abgerufen worden sind.
Öffentliches EreignisSettingsSavingTritt ein, bevor Werte im Datenspeicher gespeichert werden.
Zum Seitenanfang

ApplicationSettingsBase fügt der SettingsBase-Klasse die folgenden Funktionen hinzu, die von webbasierten Anwendungen verwendet werden:

  • Die Fähigkeit, Attribute einer abgeleiteten Einstellungswrapperklasse zu erkennen. ApplicationSettingsBase unterstützt das für Wrapperklasseneigenschaften verwendete deklarative Modell, wie später beschrieben.

  • Save -Methode und Reload-Methode auf höherer Ebene.

  • Zusätzliche Validierungsereignisse, mit denen Sie die Richtigkeit einzelner Einstellungen sicherstellen können.

In der Anwendungseinstellungsarchitektur für den Zugriff auf eine Gruppe von Einstellungseigenschaften, die Sie zum Ableiten einer konkreten Wrapperklasse von ApplicationSettingsBase benötigen. Die Wrapperklasse passt ApplicationSettingsBase folgendermaßen an:

  • Damit auf jede Einstellungseigenschaft zugegriffen werden kann, wird der Wrapperklasse eine entsprechende stark typisierte, öffentliche Eigenschaft hinzugefügt. Diese Eigenschaft verfügt über einen get-Accessor und einen set-Accessor für Lese-/Schreibanwendungseinstellungen, aber nur über einen get-Accessor für schreibgeschützte Einstellungen.

  • Angeeignete Attribute müssen auf die öffentlichen Eigenschaften der Wrapperklasse angewendet werden, um Eigenschaften der Einstellungseigenschaft anzugeben, z. B. den Bereich der Einstellung (Anwendung oder Benutzer), ob die Einstellung Roaming unterstützen soll, den Standardwert für die Einstellung, den zu verwendenden Einstellungsanbieter usw. Jede Eigenschaft muss ihren Bereich entweder mit ApplicationScopedSettingAttribute oder UserScopedSettingAttribute angeben. Die die Anwendung betreffenden Einstellungen sind schreibgeschützt, wenn der Standard-LocalFileSettingsProvider verwendet wird.

Die ApplicationSettingsBase-Klasse verwendet Reflektion, um diese Attribute zur Laufzeit zu erkennen. Die meisten dieser Informationen werden an die Einstellungsanbieterebene weitergegeben, die für Speicher, Dauerhaftigkeitsformat usw. verantwortlich ist.

Wenn eine Anwendung über mehrere Einstellungswrapperklassen verfügt, definiert jede Klasse eine Einstellungsgruppe. Jede Gruppe hat die folgenden Eigenschaften:

  • Eine Gruppe kann jede beliebige Anzahl oder jeden Typ von Eigenschafteneinstellungen enthalten.

  • Wenn der Gruppenname nicht explizit von der ergänzenden Wrapperklasse mit einem SettingsGroupNameAttribute festgelegt wird, wird ein Name automatisch generiert.

Standardmäßig verwenden alle clientbasierten Anwendungen den LocalFileSettingsProvider, um Speicher bereitzustellen. Wenn ein anderer Einstellungsanbieter gewünscht wird, muss die Wrapperklasse oder die Eigenschaft mit einem entsprechenden SettingsProviderAttribute ergänzt werden.

Weitere Informationen zur Verwendung von Anwendungseinstellungen finden Sie unter Anwendungseinstellungen für Windows Forms.

Im folgenden Codebeispiel wird die Verwendung von Anwendungseinstellungen veranschaulicht, um die folgenden Attribute des Hauptformulars beizubehalten: Speicherort, Größe, Hintergrundfarbe und Titelleistentext. Alle diese Attribute werden als einzelne Anwendungseinstellungseigenschaften in der FormSettings-Klasse mit den entsprechenden Namen FormLocation, FormSize, FormBackColor und FormText beibehalten. Außer FormText und Size sind alle an die zugeordneten Formulareigenschaften datengebunden und verfügen über einen Standardeinstellungswert, der mit DefaultSettingValueAttribute angewendet wird.

Das Formular enthält vier untergeordnete Steuerelemente mit den folgenden Namen und Funktionen:

  • Eine Schaltfläche mit dem Namen btnBackColor, die zum Anzeigen des allgemeinen Dialogfelds Farbe verwendet wird.

  • Eine Schaltfläche mit dem Namen btnReload, die zum Reload der Anwendungseinstellungen verwendet wird.

  • Eine Schaltfläche mit dem Namen btnReset, die zum Reset der Anwendungseinstellungen verwendet wird.

  • Ein Textfeld mit dem Namen tbStatus, das zum Anzeigen von Statusinformationen über das Programm verwendet wird.

Beachten Sie, dass nach jeder Ausführung der Anwendung ein zusätzlicher Punkt an den Titeltext des Formulars angehängt wird.

Für dieses Codebeispiel sind ein Formular mit einer ColorDialog-Klasse namens colorDialog1 sowie ein StatusStrip-Steuerelement mit einer ToolStripStatusLabel namens tbStatus erforderlich. Darüber hinaus sind drei Button-Objekte mit den Namen btnReload, btnReset und btnBackColor erforderlich.


   partial class Form1 : Form
   {
       private FormSettings frmSettings1 = new FormSettings();

       public Form1()
       {
           InitializeComponent();
       }

       private void Form1_Load(object sender, EventArgs e)
       {
           this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);

           //Associate settings property event handlers.
           frmSettings1.SettingChanging += new SettingChangingEventHandler(
                                               frmSettings1_SettingChanging);
           frmSettings1.SettingsSaving += new SettingsSavingEventHandler(
                                               frmSettings1_SettingsSaving);

           //Data bind settings properties with straightforward associations.
           Binding bndBackColor = new Binding("BackColor", frmSettings1, 
               "FormBackColor", true, DataSourceUpdateMode.OnPropertyChanged);
           this.DataBindings.Add(bndBackColor);
           Binding bndLocation = new Binding("Location", frmSettings1, 
               "FormLocation", true, DataSourceUpdateMode.OnPropertyChanged);
           this.DataBindings.Add(bndLocation);

           // Assign Size property, since databinding to Size doesn't work well.
            this.Size = frmSettings1.FormSize;

           //For more complex associations, manually assign associations.
           String savedText = frmSettings1.FormText;
           //Since there is no default value for FormText.
           if (savedText != null)
               this.Text = savedText;
       }

       private void Form1_FormClosing(object sender, FormClosingEventArgs e)
       {
           //Synchronize manual associations first.
           frmSettings1.FormText = this.Text + '.';
           frmSettings1.FormSize = this.Size;
           frmSettings1.Save();
       }

       private void btnBackColor_Click(object sender, EventArgs e)
       {
           if (DialogResult.OK == colorDialog1.ShowDialog())
           {
               Color c = colorDialog1.Color;
               this.BackColor = c;
           }
       }

       private void btnReset_Click(object sender, EventArgs e)
       {
           frmSettings1.Reset();
           this.BackColor = SystemColors.Control;
       }

       private void btnReload_Click(object sender, EventArgs e)
       {
           frmSettings1.Reload();
       }

       void frmSettings1_SettingChanging(object sender, SettingChangingEventArgs e)
       {
           tbStatus.Text = e.SettingName + ": " + e.NewValue;
       }

       void frmSettings1_SettingsSaving(object sender, CancelEventArgs e)
       {
           //Should check for settings changes first.
           DialogResult dr = MessageBox.Show(
                           "Save current values for application settings?",
                           "Save Settings", MessageBoxButtons.YesNo);
           if (DialogResult.No == dr)
           {
               e.Cancel = true;
           }
       }

   }

   //Application settings wrapper class
   sealed class FormSettings : ApplicationSettingsBase
   {
       [UserScopedSettingAttribute()]
       public String FormText
       {
           get { return (String)this["FormText"]; }
           set { this["FormText"] = value; }
       }

       [UserScopedSettingAttribute()]
       [DefaultSettingValueAttribute("0, 0")]
       public Point FormLocation
       {
           get { return (Point)(this["FormLocation"]); }
           set { this["FormLocation"] = value; }
       }

       [UserScopedSettingAttribute()]
       [DefaultSettingValueAttribute("225, 200")]
       public Size FormSize
       {
           get { return (Size)this["FormSize"]; }
           set { this["FormSize"] = value; }
       }


       [UserScopedSettingAttribute()]
       [DefaultSettingValueAttribute("LightGray")]
       public Color FormBackColor
       {
           get { return (Color)this["FormBackColor"]; }
           set { this["FormBackColor"] = value; }
       }

   }



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.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:
© 2014 Microsoft