Gewusst wie: Erstellen von Anwendungseinstellungen
Mithilfe von verwaltetem Code können Sie neue Anwendungseinstellungen erstellen und diese an Eigenschaften auf dem Formular oder an Steuerelemente des Formulars binden, sodass diese Einstellungen zur Laufzeit automatisch geladen und gespeichert werden.
In der folgenden Prozedur erstellen Sie manuell eine Wrapperklasse, die sich von ApplicationSettingsBase ableitet. Dieser Klasse fügen Sie eine öffentlich zugreifbare Eigenschaft für jede Anwendungseinstellung hinzu, die Sie verfügbar machen möchten.
Dieses Verfahren können Sie auch im Visual Studio-Designer mit minimalem Programmieraufwand durchführen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Anwendungseinstellungen mithilfe des Designers und Gewusst wie: Erstellen von Anwendungseinstellungen mithilfe des Designers und Gewusst wie: Erstellen von Anwendungseinstellungen mithilfe des Designers und Gewusst wie: Erstellen von Anwendungseinstellungen mithilfe des Designers und Gewusst wie: Erstellen von Anwendungseinstellungen mithilfe des Designers.
So erstellen Sie programmgesteuert neue Anwendungseinstellungen
Fügen Sie dem Projekt eine neue Klasse hinzu, und benennen Sie sie um. In dieser Prozedur nennen wir die Klasse MyUserSettings. Ändern Sie die Klassendefinition, sodass sich die Klasse von ApplicationSettingsBase ableitet.
Definieren Sie in dieser Wrapperklasse eine Eigenschaft für jede benötigte Anwendungseinstellung, und wenden Sie diese Eigenschaft entweder mit ApplicationScopedSettingAttribute oder mit UserScopedSettingAttribute an, je nach Bereich der Einstellung. Weitere Informationen zum Einstellungsbereich finden Sie unter Übersicht über Anwendungseinstellungen. Der Code sollte nun wie folgt aussehen:
Imports System.Configuration Public Class MyUserSettings Inherits ApplicationSettingsBase <UserScopedSetting()> _ <DefaultSettingValue("white")> _ Public Property BackgroundColor() As Color Get BackgroundColor = Me("BackgroundColor") End Get Set(ByVal value As Color) Me("BackgroundColor") = value End Set End Property End Class
using System; using System.Configuration; using System.Drawing; public class MyUserSettings : ApplicationSettingsBase { [UserScopedSetting()] [DefaultSettingValue("white")] public Color BackgroundColor { get { return ((Color)this["BackgroundColor"]); } set { this["BackgroundColor"] = (Color)value; } } }
Erstellen Sie in der Anwendung eine Instanz dieser Wrapperklasse. Hierbei handelt es sich im Allgemeinen um einen privaten Member des Hauptformulars. Nachdem Sie die Klasse definiert haben, müssen Sie sie an eine Eigenschaft binden, in diesem Fall an die BackColor-Eigenschaft des Formulars. Hierzu können Sie den Load -Ereignishandler des Formulars verwenden.
Dim Mus As MyUserSettings Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Mus = New MyUserSettings() Mus.BackgroundColor = Color.AliceBlue Me.DataBindings.Add(New Binding("BackColor", Mus, "BackgroundColor")) End Sub
MyUserSettings mus; private void Form1_Load(object sender, EventArgs e) { mus = new MyUserSettings(); mus.BackgroundColor = Color.AliceBlue; this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor")); }
Wenn Sie eine Möglichkeit bereitstellen, Einstellungen zur Laufzeit zu ändern, müssen Sie die aktuellen Einstellungen des Benutzers auf der Festplatte speichern, wenn Sie das Formular schließen. Andernfalls gehen diese Änderungen verloren.
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Mus.Save() End Sub
//Make sure to hook up this event handler in the constructor! //this.FormClosing += new FormClosingEventHandler(Form1_FormClosing); void Form1_FormClosing(object sender, FormClosingEventArgs e) { mus.Save(); }
Sie haben nun erfolgreich eine neue Anwendungseinstellung erstellt und sie an die angegebene Eigenschaft gebunden.
Sicherheit
Der standardmäßige Einstellungenanbieter LocalFileSettingsProvider erhält Informationen in Konfigurationsdateien als Nur-Text. Dadurch wird die Sicherheit auf die für den aktuellen Benutzer vom Betriebssystem bereitgestellte Dateizugriffssicherheit beschränkt. Daher sollten die in Konfigurationsdateien gespeicherten Informationen mit Vorsicht verwendet werden. Eine häufige Verwendung von Anwendungseinstellungen besteht zum Beispiel darin, Verbindungszeichenfolgen zu speichern, die auf den Datenspeicher der Anwendung zeigen. Aus Sicherheitsgründen sollten solche Zeichenfolgen jedoch keine Kennwörter enthalten. Weitere Informationen über Verbindungszeichenfolgen finden Sie unter SpecialSetting.
Siehe auch
Aufgaben
Gewusst wie: Überprüfen von Anwendungseinstellungen