Einführung
Bei einer Anwendung müssen im Regelfall bestimmte Einstellungen, die ein Nutzer innerhalb des Programmes macht, gespeichert werden. Bei einem Neustart des Programms sollen die Einstellungen dann wieder eingelesen werden. Am besten sollte es so sein, als hätte der Nutzer das Programm nicht geschlossen. Nun, der letzte Punkt ist nicht ganz so einfach, aber bei den anderen beiden braucht man sich als Entwickler nicht mehr allzu viele Gedanken machen. C# unterstützt Einen auch hier.
1. Zunächst muss man im Solution Explorer in seiner Solution nach der Datei “Settings.settings” suchen.

2. Mittels Doppelklick öffnet sich ein Einstellungsfenster, indem man angeben kann, wie die Konfigurationseigenschaften heißen und welche Typen sie haben sollen. Wenn diese festgelegt wurden, können zusätzlich noch die Standardwerte angegeben werden.
Visual Studio legt dabei automatisch entsprechende Klassen an, über die auf die angelegten Eigenschaften zugegriffen werden kann.
3. Der folgende Codeausschnitt zeigt, wie man die Einstellungen zum Beispiel beim Starten des Programms laden kann.
private void LoadSettings()
{
int value = Properties.Settings.Default.WindowX;
if (value > -1)
{
this.Left = value;
}
value = Properties.Settings.Default.WindowY;
if (value > -1)
{
this.Top = value;
}
menuItem_English.Checked = Properties.Settings.Default.Language.Equals(Language.EnglishCulture.Name);
if (menuItem_English.Checked)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = Language.EnglishCulture;
}
menuItem_German.Checked = Properties.Settings.Default.Language.Equals(Language.GermanCulture.Name);
if (menuItem_German.Checked)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = Language.GermanCulture;
}
ApplyLanguage();
//...
}
4. Das Speichern von veränderten Einstellungen erfolgt einfach über das umgekehrte zuweisen von Werten an die Settings-Klasse. In dem folgenden Beispiel erfolgt das Sichern der letzten Position des Formulars beim Schließen desselben:
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.WindowX = this.Left;
Properties.Settings.Default.WindowY = this.Top;
Properties.Settings.Default.Save();
}
Wichtig dabei ist, dass die Save-Methode abschließend aufgerufen wird, damit die veränderten Einstellungen auch persistent gemacht werden, also in Dateiform auf die Festplatte geschrieben werden.
Kommentare
Kommentar hinterlassen Trackback