Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Übersicht über Anwendungseinstellungen

 

Veröffentlicht: Oktober 2016

In diesem Thema wird erläutert, wie Einstellungsdaten für Ihre Anwendung und deren Benutzer erstellt und gespeichert werden.

Die Funktion „Anwendungseinstellungen“ von Windows Forms erleichtert das Erstellen, Speichern und Verwalten von benutzerdefinierten Einstellungen für Anwendungen und Benutzer auf dem Clientcomputer. Mit Windows Forms-Anwendungseinstellungen können Sie nicht nur Anwendungsdaten wie Datenbankverbindungszeichenfolgen, sondern auch benutzerspezifische Daten, etwa Anwendungseinstellungen, speichern. Mithilfe von Visual Studio oder benutzerdefiniertem verwaltetem Code können Sie neue Einstellungen erstellen, diese vom Datenträger lesen bzw. sie darauf schreiben, sie an Eigenschaften in Ihren Formularen binden und Einstellungsdaten vor dem Laden und Speichern überprüfen.

Anwendungseinstellungen ermöglichen Entwicklern das Speichern des Zustands ihrer jeweiligen Anwendung mit sehr wenig benutzerdefiniertem Code und stellen einen Ersatz für die dynamischen Eigenschaften in früheren Versionen von .NET Framework dar. Anwendungseinstellungen enthalten zahlreiche Verbesserungen gegenüber dynamischen Eigenschaften, die schreibgeschützt und spät gebunden sind sowie mehr benutzerdefinierte Programmierung erfordern. Die dynamischen Eigenschaftenklassen wurden in .NET Framework 2.0 beibehalten, sind aber nur noch Shell-Klassen, die nur einen schwachen Wrapper für die Anwendungseinstellungen-Klassen darstellen.

Ihr Windows Forms-Anwendungen benötigen häufig Daten, die für die Ausführung der Anwendung von entscheidender Bedeutung sind, die Sie aber nicht direkt in den Anwendungscode einschließen möchten. Wenn Ihre Anwendung einen Webdienst oder einen Datenbankserver verwendet, sollten Sie diese Informationen in einer separaten Datei speichern, damit Sie sie später ändern können, ohne sie neu kompilieren zu müssen. Auf ähnliche Weise können Ihre Anwendungen die Speicherung von Daten erfordern, die für den aktuellen Benutzer spezifisch sind. Die meisten Anwendungen verfügen beispielsweise über Benutzereinstellungen, die das Aussehen und Verhalten der Anwendung anpassen.

Anwendungseinstellungen tragen beiden dieser Anforderungen Rechnung, indem sie eine einfache Möglichkeit bereitstellen, um sowohl anwendungsspezifische als auch benutzerspezifische Einstellungen auf dem Clientcomputer zu speichern. Mithilfe von Visual Studio oder einem Code-Editor definieren Sie eine Einstellung für eine bestimmte Eigenschaft durch Angabe ihres Namens, Datentyps und Gültigkeitsbereichs (Anwendung oder Benutzer). Sie können sogar verwandte Einstellungen in benannten Gruppen ablegen, um ihre Verwendbarkeit und Lesbarkeit zu vereinfachen. Nachdem diese Einstellungen definiert wurden, werden sie dauerhaft gespeichert und zur Laufzeit automatisch zurück in den Speicher gelesen. Eine Architektur mit austauschbaren Komponenten ermöglicht die Änderung des Mechanismus für die dauerhafte Speicherung, doch standardmäßig wird das lokale Dateisystem verwendet.

Anwendungseinstellungen funktionieren so, dass sie Daten als XML in unterschiedlichen Konfigurationsdateien (.config) dauerhaft speichern, je nachdem, ob die Einstellung anwendungsspezifisch oder benutzerspezifisch ist. In den meisten Fällen sind die anwendungsspezifischen Einstellungen schreibgeschützt. Da es sich dabei um Programminformationen handelt, müssen Sie sie in der Regel nicht überschreiben. Im Gegensatz dazu können benutzerspezifische Einstellungen zur Laufzeit problemlos gelesen und geschrieben werden, auch wenn Ihre Anwendung nur mit teilweiser Vertrauenswürdigkeit ausgeführt wird. Weitere Informationen zu teilweiser Vertrauenswürdigkeit finden Sie unter Übersicht über die Sicherheit in Windows Forms.

Einstellungen werden als XML-Fragmente in Konfigurationsdateien gespeichert. Anwendungsspezifische Einstellungen werden durch das <application.Settings>-Element dargestellt und normalerweise in "App.exe.config" abgelegt, wobei App der Name Ihrer Hauptausführungsdatei ist. Benutzerspezifische Einstellungen werden durch das <userSettings>-Element dargestellt und in "Benutzer.config" abgelegt, wobei Benutzer der Benutzername der Person ist, die aktuell die Anwendung ausführt. Sie müssen die Datei "App.exe.config" mit Ihrer Anwendung bereitstellen. Die Architektur der Einstellungen erstellt die "Benutzer.config"-Dateien bei Bedarf, wenn die Anwendung Einstellungen für diesen Benutzer zum erste Mal speichert. Außerdem können Sie einen <userSettings>-Block in "App.exe.config" definieren, um Standardwerte für benutzerspezifische Einstellungen bereitzustellen.

Benutzerdefinierte Steuerelemente können ihre eigenen Einstellungen auch speichern, indem die IPersistComponentSettings-Schnittstelle implementiert wird, die die SaveSettings-Methode verfügbar macht. Das Windows Forms-Steuerelement ToolStrip implementiert diese Schnittstelle, um die Position von Symbolleisten und Symbolleistenelementen zwischen Anwendungssitzungen zu speichern. Weitere Informationen zu benutzerdefinierten Steuerelementen und Anwendungseinstellungen finden Sie unter Anwendungseinstellungen für benutzerdefinierte Steuerelemente.

Sie können keine Anwendungseinstellungen in einer nicht verwalteten Anwendung verwenden, die .NET Framework hostet. Einstellungen funktionieren nicht in Umgebungen wie Visual Studio-Add-Ins, C++ für Microsoft Office, Steuerelementhosting in Internet Explorer oder Microsoft Outlook-Add-Ins und Projekte.

Sie können derzeit keine Bindung an einige Eigenschaften in Windows Forms durchführen. Das bemerkenswerteste Beispiel ist die ClientSize-Eigenschaft, weil das Binden an diese Eigenschaft zu unvorhersehbarem Verhalten zur Laufzeit führen würde. Sie können diese Probleme in der Regel umgehen, indem Sie diese Einstellungen programmgesteuert speichern und laden.

Anwendungseinstellungen besitzen keine integrierte Funktion zum automatischen Verschlüsseln von Informationen. Sie sollten nie sicherheitsrelevante Informationen wie Datenbankkennwörter in Klartext speichern. Wenn Sie solche vertraulichen Informationen speichern möchten, sind Sie als Entwickler dafür verantwortlich, dass sie geschützt werden. Wenn Sie Verbindungszeichenfolgen speichern möchten, empfehlen wir Ihnen, die integrierte Sicherheit von Windows zu verwenden und nicht zur Hartcodierung von Kennwörtern in der URL zu greifen. Weitere Informationen finden Sie unter Codezugriffssicherheit und ADO.NET.

Wenn Sie Visual Studio verwenden, können Sie im Windows Forms-Designer mithilfe der (ApplicationSettings)-Eigenschaft im Fenster Eigenschaften Einstellungen definieren. Wenn Sie Einstellungen auf diese Weise definieren, erstellt Visual Studio automatisch eine benutzerdefinierte, verwaltete Wrapperklasse, die jede Einstellung einer Klasseneigenschaft zuordnet. Visual Studio übernimmt außerdem das Binden der Einstellung an eine Eigenschaft in einem Formular oder Steuerelement, damit die Einstellungen des Steuerelements automatisch wiederhergestellt werden, wenn sein Formular angezeigt wird, und automatisch gespeichert werden, wenn das Formular geschlossen wird.

Wenn Sie eine detailliertere Kontrolle über Ihre Einstellungen benötigen, können Sie Ihre eigene benutzerdefinierte Wrapperklasse für Anwendungseinstellungen definieren. Dies geschieht durch Ableiten einer Klasse von ApplicationSettingsBase, Hinzufügen einer Eigenschaft, die jeder Einstellung entspricht, und Anwenden bestimmter Attribute auf diese Eigenschaften. Weitere Informationen zum Erstellen von Wrapperklassen finden Sie unter Architektur der Anwendungseinstellungen.

Sie können auch die Binding-Klasse verwenden, um Einstellungen programmgesteuert an Eigenschaften in Formularen und Steuerelementen zu binden.

Anzeigen: