C#: UserScopes zur Laufzeit laden und speichern
Das Visual Studio bietet eine sehr gute Möglichkeit benutzerabhängige Einstellungen anzulegen. Einmal angelegt, lassen sich die sogenannten “UserScopes” mit einem Standardwert belegen und anschließend problemlos zur Laufzeit auslesen und auch speichern.
Vorteile dieser Methodik sind, dass keine Dateien wie XMLs oder die mitlerweile veralteten INIs angelegt werden müssen, um benutzerabhängige Daten zu speichern, die zur Laufzeit des Programms ausgewertet werden müssen. In diesem Tutorial zeigen wir Euch, wie simpel es ist solche Einstellungen im Visual Studio anzulegen und zu einem späteren Zeitpunkt wieder auszulesen.
Als erstes legen wir in den Properties des gewünschten Projektes einiges UserScopes an. Ich verwende hier als Beispiel einen kleinen Installer, den ich einmal geschrieben habe. Hier nun mal eine mögliche Konfiguration Eurer UserScopes:

Das Anlegen war dann auch schon die halbe Miete. Ich habe hier meistens keine Standardwerte (Value) gesetzt, weil das, in meinem Fall, vom laufenden Programm bewältigt wurde. Als nächstes müssen wir die UserScopes in unserem Programm verfügbar machen. Hier gibt es nun zwei mögliche Implementationen: Einmal über die Usings und Settings.Default oder Ihr erstellt euch ein komplettes Objekt. Ich beschreibe hier allerdings die Verwendung über die Using Direktive.
// Einbinden der Namespace Properties using namespace.Properties; // So könnt Ihr Einstellungen zur Laufzeit lesen string tl = Settings.Default.tlcopy; MessageBox.Show(tl, "Settings für tlcopy"); // So könnt Ihr Einstellungen zur Laufzeit speichern string tl = @"C:\TL\"; Settings.Default.tlcopy = tl;
Und das war es auch schon! Nun könnt Ihr während der Laufzeit Einstellungen für den jeweiligen User einlesen oder speichern. Diese Einstellungen werden dann in der Assembly Eures Programms abgespeichert und sind auch nach dem Beenden der Anwendung noch gespeichert. So werden alle Benutzereinstellungen bis zur ausdrücklichen Änderung beibehalten.