Anwendungseinstellungen

Mithilfe von Anwendungseinstellungen können Sie Eigenschafteneinstellungen und andere Informationen für die Anwendung dynamisch speichern und abrufen. Sie können damit auch benutzerdefinierte Anwendungen und Benutzereinstellungen auf dem Clientcomputer verwalten. Bei diesen Daten handelt es sich häufig um Informationen, die zum Ausführen der Anwendung unabdingbar sind und die nicht direkt in den Anwendungscode eingeschlossen werden sollten (z. B. Verbindungszeichenfolgen). Beispielsweise empfiehlt es sich u. U., zwei verschiedene Datenbankverbindungszeichenfolgen zu speichern und je nach Standort des Computers eine dieser Verbindungszeichenfolgen zur Laufzeit abrufen. Sie können auch die Farbeinstellungen eines Benutzers speichern und bei der nächsten Ausführung der Anwendung abrufen.

Beachten Sie, dass Anwendungseinstellungen ein Feature von Visual Studio sind, das das Feature für dynamische Eigenschaften aus vorherigen Versionen ersetzt. (Weitere Informationen über dynamische Eigenschaften finden Sie unter Konfigurieren von Anwendungen mithilfe von dynamischen Eigenschaften.)

Jede Anwendungseinstellung muss einen eindeutigen Namen haben. Dieser Name kann aus einer beliebigen Kombination aus Buchstaben, Zahlen und Unterstrichen bestehen. Er darf jedoch nicht mit einer Zahl beginnen, und er darf keine Leerzeichen enthalten. Der Name kann über die Name-Eigenschaft geändert werden.

Anwendungseinstellungen können in einem beliebigen Datentyp gespeichert werden, der in XML serialisierbar ist oder über einen TypeConverter mit einer Implementierung von ToString/FromString verfügt. Die geläufigsten Typen lauten String, Integer und Boolean. Sie können Werte jedoch auch als Color, Object oder als Verbindungszeichenfolge speichern.

Anwendungseinstellungen enthalten auch einen Wert. Der Wert wird über die Eigenschaft Wert festgelegt und muss mit dem Datentyp der Einstellung übereinstimmen.

Außerdem können Anwendungseinstellungen zur Entwurfszeit an die Eigenschaft eines Formulars oder Steuerelements gebunden werden. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von Anwendungseinstellungen.

Es gibt zwei Typen von Anwendungseinstellungen, die sich hinsichtlich ihres Gültigkeitsbereichs unterscheiden:

  • Anwendungsspezifische Einstellungen können für Informationen wie die URL eines Webdiensts oder eine Datenbankverbindungszeichenfolge verwendet werden. Diese Werte werden der Anwendung zugeordnet. Deshalb können Benutzer sie zur Laufzeit nicht ändern.

  • Benutzerspezifische Einstellungen können für Informationen, z. B. die Beibehaltung der letzten Position eines Formulars oder eine Schriftarteinstellung, verwendet werden. Die Benutzer können diese Werte zur Laufzeit ändern.

Sie können den Typ einer Einstellung mit der Eigenschaft Bereich ändern.

Das Projektsystem speichert die Anwendungseinstellungen in zwei XML-Dateien: in der Datei app.config, die zur Entwurfszeit erstellt wird, wenn Sie die erste Anwendungseinstellung erstellen, sowie in der Datei user.config, die zur Laufzeit erstellt wird, wenn der die Anwendung ausführende Benutzer den Wert einer Benutzereinstellung ändert. Beachten Sie, dass Änderungen in den Benutzereinstellungen nicht auf die Festplatte geschrieben werden, es sei denn, die Anwendung ruft ausdrücklich eine Methode auf, die dies veranlasst.

Erstellen von Anwendungseinstellungen zur Entwurfszeit

Zur Entwurfszeit können Anwendungseinstellungen auf zwei Arten erstellt werden: im Projekt-Designer über die Seite Einstellungen oder für ein Formular oder ein Steuerelement über das Eigenschaftenfenster, in dem Sie eine Einstellung an eine Eigenschaft binden können. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von Anwendungseinstellungen.

Beim Erstellen einer anwendungsspezifischen Einstellung (z. B. einer Datenbankverbindungszeichenfolge oder eines Verweises auf Serverressourcen) speichert Visual Studio diese Einstellung in app.config mit dem <applicationSettings>-Tag. (Verbindungszeichenfolgen werden unter dem <connectionStrings>-Tag gespeichert.)

Beim Erstellen einer benutzerspezifischen Einstellung (z. B. einer Standardschriftart, Startseite oder Fenstergröße) speichert Visual Studio diese Einstellung in app.config mit dem <userSettings>-Tag.

SicherheitshinweisSicherheitshinweis

Beim Speichern von Verbindungszeichenfolgen in app.config sollten Sie Vorsichtsmaßnahmen treffen, damit keine vertraulichen Informationen, etwa Kennwörter oder Serverpfade, in der Verbindungszeichenfolge preisgegeben werden.

Wenn Sie Informationen für Verbindungszeichenfolgen aus einer externen Quelle übernehmen (z. B. bei Eingabe einer Benutzer-ID und eines Kennworts durch einen Benutzer), müssen Sie sicherstellen, dass die Werte zum Aufbau der Verbindungszeichenfolge keine zusätzlichen Parameter für Verbindungszeichenfolgen enthalten, die das Verhalten der Verbindung ändern oder ihre Sicherheit gefährden.

Verwenden Sie am besten die geschützte Konfiguration, um vertrauliche Informationen in der Konfigurationsdatei zu verschlüsseln. Weitere Informationen finden Sie unter Schützen von Verbindungsinformationen (ADO.NET).

Tipp

Da für Klassenbibliotheken das Modell der Konfigurationsdateien nicht verwendet wird, gelten Anwendungseinstellungen nicht für Klassenbibliotheksprojekte. Ausgenommen hiervon sind DLL-Projekte in Visual Studio Tools for Office, die über Konfigurationsdateien verfügen können.

Verwenden von benutzerdefinierten Einstellungsdateien

Sie können dem Projekt zur einfachen Verwaltung von Einstellungsgruppen benutzerdefinierte Einstellungsdateien hinzufügen. Einstellungen, die in einer Datei enthalten sind, werden als Einheit geladen und gespeichert. Durch das Speichern von häufig und weniger häufig verwendeten Einstellungsgruppen in separaten Dateien können Sie beim Laden und Speichern von Einstellungen Zeit sparen.

Beispielsweise können Sie dem Projekt eine Datei namens SpecialSettings.settings hinzufügen. Die SpecialSettings-Klasse wird zwar im My-Namespace nicht verfügbar gemacht, mit Code anzeigen kann jedoch die benutzerdefinierte Einstellungsdatei, die Partial Class SpecialSettings enthält, gelesen werden.

Zunächst sucht der Einstellungs-Designer nach der vom Projektsystem erstellten Datei Settings.settings. Dies ist die Standarddatei, die im Projekt-Designer auf der Registerkarte Einstellungen angezeigt wird. Settings.settings befindet sich bei Visual Basic-Projekten im Ordner My Project und bei Visual C#-Projekten im Ordner Properties. Der Projekt-Designer sucht dann nach anderen Einstellungsdateien im Stammordner des Projekts. Deshalb sollten Sie die benutzerdefinierte Einstellungsdatei dort ablegen. Wenn Sie die Einstellungsdatei einem anderen Projektordner hinzufügen, findet der Projekt-Designer sie nicht.

Ändern von Anwendungseinstellungen zur Laufzeit nach entsprechendem Zugriff in Visual Basic

In Visual Basic-Projekten können Sie mit dem My.Settings-Objekt zur Laufzeit auf Anwendungseinstellungen zugreifen. Klicken Sie auf der Seite Einstellungen auf die Schaltfläche Code anzeigen, um die Datei Settings.vb anzuzeigen. (Weitere Informationen finden Sie unter Gewusst wie: Zugriff auf Einstellungsereignisse.) Settings.vb definiert die Settings-Klasse, sodass Sie die folgenden Ereignisse für die Settings-Klasse handhaben können: SettingChanging, PropertyChanged, SettingsLoaded und SettingsSaving. Beachten Sie, dass die Settings-Klasse in der Datei Settings.vb eine partielle Klasse ist, die nur den im Besitz des Benutzers befindlichen Code anzeigt und nicht die gesamte generierte Klasse. Weitere Informationen über den Zugriff auf Anwendungseinstellungen über das My.Settings-Objekt finden Sie unter Zugreifen auf Anwendungseinstellungen (Visual Basic).

Die Werte aller benutzerspezifischen Einstellungen, die der Benutzer zur Laufzeit ändert (z. B. die Position eines Formulars), werden in der Datei user.config gespeichert. Beachten Sie, dass die Standardwerte weiterhin in app.config gespeichert sind.

Wenn benutzerspezifische Einstellungen zur Laufzeit geändert wurden, z. B. beim Testen der Anwendung, und Sie diese Einstellungen auf die Standardwerte zurücksetzen möchten, klicken Sie auf die Schaltfläche Synchronisieren. Weitere Informationen zu diesem Steuerelement finden Sie unter Seite "Einstellungen", Projekt-Designer.

Es wird dringend empfohlen, dass Sie mit dem My.Settings-Objekt und der standardmäßigen SETTINGS-Datei auf Einstellungen zugreifen. Dies ist deshalb wichtig, da mit dem Einstellungs-Designer den Einstellungen Eigenschaften zugewiesen werden können und Benutzereinstellungen vor dem Beenden der Anwendung automatisch gespeichert werden. Die Visual Basic-Anwendung kann jedoch direkt auf Einstellungen zugreifen. In diesem Fall müssen Sie die MySettings-Klasse aufrufen und eine benutzerdefinierte Einstellungsdatei im Stammordner des Projekts verwenden. Außerdem müssen Sie die Benutzereinstellungen wie bei einer C#-Anwendung vor dem Beenden der Anwendung speichern. Informationen hierzu finden Sie im folgenden Abschnitt.

Ändern von Anwendungseinstellungen zur Laufzeit nach entsprechendem Zugriff in Visual C#

In anderen Programmiersprachen als Visual Basic, z. B. Visual C#, müssen Sie direkt auf die Settings-Klasse zugreifen. Dies ist im folgenden Visual C#-Beispiel veranschaulicht.

Properties.Settings.Default.FirstUserSetting = "abc";

Sie müssen die Save-Methode dieser Wrapperklasse explizit aufrufen, damit die Benutzereinstellungen erhalten bleiben. Hierfür verwenden Sie normalerweise den Closing-Ereignishandler des Hauptformulars. Das folgende Visual C#-Beispiel zeigt einen Aufruf der Save-Methode.

Properties.Settings.Default.Save();

Ein Beispiel dazu, wie Sie neue Anwendungseinstellungen erstellen und an Einstellungen in einem Formular binden, finden Sie unter Gewusst wie: Erstellen von Anwendungseinstellungen mithilfe des Designers. Allgemeinere Informationen über das Zugreifen auf Anwendungseinstellungen über die Settings-Klasse finden Sie unter Übersicht über Anwendungseinstellungen.

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen oder Entfernen von Anwendungseinstellungen

Gewusst wie: Zugriff auf Einstellungsereignisse

Referenz

Seite "Einstellungen", Projekt-Designer

Konzepte

Zugreifen auf Anwendungseinstellungen (Visual Basic)

Weitere Ressourcen

Verwalten von Anwendungseinstellungen