Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie müssen bestimmte Aufgaben ausführen, um Ihren benutzerdefinierten Steuerelementen die Möglichkeit zu geben, Anwendungseinstellungen beizubehalten, wenn die Steuerelemente in Drittanbieteranwendungen gehostet werden.
Die meisten Dokumentationen zum Feature "Anwendungseinstellungen" werden unter der Annahme geschrieben, dass Sie eine eigenständige Anwendung erstellen. Wenn Sie jedoch ein Steuerelement erstellen, das andere Entwickler in ihren Anwendungen hosten, müssen Sie einige zusätzliche Schritte ausführen, damit ihr Steuerelement seine Einstellungen ordnungsgemäß beibehalten kann.
Anwendungseinstellungen und benutzerdefinierte Steuerelemente
Damit Ihr Steuerelement seine Einstellungen ordnungsgemäß beibehalten kann, muss es den Prozess binden, indem es eine eigene dedizierte Klasse für Anwendungseinstellungen erstellt, die von ApplicationSettingsBase abgeleitet ist. Darüber hinaus muss die Hauptsteuerungsklasse das IPersistComponentSettings implementieren. Die Schnittstelle enthält mehrere Eigenschaften sowie zwei Methoden LoadComponentSettings und SaveComponentSettings. Wenn Sie Ihr Steuerelement mithilfe des Windows Forms-Designers in Visual Studio einem Formular hinzufügen, wird LoadComponentSettings von Windows Forms automatisch aufgerufen, wenn das Steuerelement initialisiert wird; Sie müssen SaveComponentSettings selbst in der Dispose-Methode Ihres Steuerelements aufrufen.
Darüber hinaus sollten Sie Folgendes implementieren, damit Anwendungseinstellungen für benutzerdefinierte Steuerelemente in Entwurfszeitumgebungen wie Visual Studio ordnungsgemäß funktionieren:
Eine benutzerdefinierte Anwendungseinstellungsklasse mit einem Konstruktor, der einen IComponent als einzelner Parameter verwendet. Verwenden Sie diese Klasse, um alle Anwendungseinstellungen zu speichern und zu laden. Wenn Sie eine neue Instanz dieser Klasse erstellen, übergeben Sie ihr benutzerdefiniertes Steuerelement mithilfe des Konstruktors.
Erstellen Sie diese benutzerdefinierte Einstellungsklasse, nachdem das Steuerelement erstellt und in einem Formular platziert wurde, z. B. im Ereignishandler des Formulars Load .
Anweisungen zum Erstellen einer benutzerdefinierten Einstellungsklasse finden Sie unter How to: Create Application Settings.
Einstellungsschlüssel und freigegebene Einstellungen
Einige Steuerelemente können mehrmals innerhalb desselben Formulars verwendet werden. Meistens möchten Sie, dass diese Steuerelemente ihre eigenen individuellen Einstellungen beibehalten. Mit der Eigenschaft SettingsKey an IPersistComponentSettings können Sie eine eindeutige Zeichenfolge angeben, die dazu dient, mehrere Versionen eines Steuerelements in einem Formular eindeutig zu unterscheiden.
Die einfachste Möglichkeit, SettingsKey zu implementieren, besteht darin, die Eigenschaft Name des Steuerelements für das SettingsKey zu verwenden. Wenn Sie die Einstellungen des Steuerelements laden oder speichern, übergeben Sie den Wert des SettingsKey Steuerelements an die SettingsKey Eigenschaft der ApplicationSettingsBase Klasse. Anwendungseinstellungen verwenden diesen eindeutigen Schlüssel, wenn er die Einstellungen des Benutzers auf XML speichert. Das folgende Codebeispiel zeigt, wie ein <userSettings> Abschnitt nach einer Instanz eines benutzerdefinierten Steuerelements CustomControl1 suchen kann, das eine Einstellung für seine Text Eigenschaft speichert.
<userSettings>
<CustomControl1>
<setting name="Text" serializedAs="string">
<value>Hello, World</value>
</setting>
</CustomControl1>
</userSettings>
Instanzen eines Steuerelements, die keinen Wert für SettingsKey bereitstellen, verwenden dieselben Einstellungen.
Siehe auch
.NET Desktop feedback