| |
Projekte und Betatester (VB und VB.NET)Verwalten von Programmeinstellungen - Ganz einfach | | | Autor: keco | Datum: 01.09.09 21:59 |
| Mein erstes Projekt, was ich hier bekannt machen möchte ist eine Bibliothek zum Verwalten von Programmeinstellungen im Designer der IDE. Dabei werden bis zu 19 Datentypen zum Speichern und Laden untersützt!
In der Bibliothek enthalten ist eine Komponente, die einfach auf eine Form gezogen werden kann. Mit dieser Komponente können nur die Einstellungen dieser Form verwaltet werden. Die Komponente muss also für jede Form, bei welcher Einstellungen vorhanden sein sollen, erstellt werden. Die einzelnen Komponenten werden allerdings global von einer Klasse verwaltet, so dass ein Speichern und Laden der Einstellungen wesentlich vereinfacht wird. Bei der Komponente selbst kann unter anderem der Speicherpfad der Einstellungsdatei festgelegt werden und natürlich auch die Einstellungen selbst. Möglich ist dabei auch Einstellungen direkt an eine bestimmte Eigenschaft eines Controls zu binden. Wie genau das funktioniert ist hier beschrieben:
Erstellen einer einfachen Einstellung:
- Komponente auswählen und die "Items"-Eigenschaft editieren
- Neue Einstellung hinzufügen und "Category" und "Name" festlegen (wichtig für die Identifizierung der Einstellung in der XML-Datei)
- "Value" festlegen und gegebenfalls einzelne Attribute mit Werten festlegen
Die Einstellung selbst kann nun während der Laufzeit über die Codezeile aufgerufen werden:Settings1.Items("CategoryName", "SettingName") Besonderheit:
Die Besonderheit bei dieser Art der Erstellung einer Eigenschaft liegt darin, dass prinzipiell jede Art von Datentyp gespeichert werden kann, sofern ein entsprechender Konverter dafür vorliegt, welcher allerdings selbst implementiert werden muss.
Erstellen einer gebundenen Einstellung:
- Komponente auswählen und die "Items"-Eigenschaft editieren
- Neue Einstellung hinzufügen und "Category" und "Name" festlegen (wichtig für die Identifizierung der Einstellung in der XML-Datei)
- Ein Control über die "BindingControl"-Eigenschaft an die Einstellung binden
- Den Name der Eigenschaft des gebundenen Controls über die "BindingProperty"-Eigenschaft festlegen
- Die "Value"-Eigenschaft wird automatisch übernommen, wenn "BindingControl" und "BindingProperty" erfolgreich festgelegt wurden.
- Attribute werden ebenfalls automatisch gebunden, wenn der Name des Attributes den Name einer Eigenschaft des Controls entspricht, ansonsten liegen diese als einfache Einstellung vor.
Die Einstellung selbst kann un während der Laufzeit über die gleiche Codezeile wie zuvor abgerufen werden.
Besonderheit:
Die Besonderheit bei dieser Art der Erstellung einer Eigenschaft liegt darin, dass beim Laden der Einstellungen das Control automatisch den Werten in der Einstellungsdatei angepasst werden. Es sind damit keine weitern Codezeilen mehr nötig!
Speicherbare Datentypen:
Prinzipiell kann jeder Datentyp gespeichert werden, sofern dieser in einen String konvertiert und wieder zurückgewandelt werden kann. Die Bibliothek selbst bietet einen Konverter für folgende Datentypen: Boolean, Byte, Char, Date, Decimal, Double, Int16, Int32, Int64, SByte, Single, String, UInt16, UInt32, UInt64, Color, Size, Point, AnchorStyles.
Zum Speichern der Einstellung einfach die .Save Methode einer Komponente aufrufen, dabei werden die Einstellungen von ALLEN Komponenten gespeichert. Das gleiche gilt für die .Load-Methode. Bei Bedarf kann ich auch gerne eine Demo erstellen.
Ich würde Euch bitten die Komponente ausgiebig zu testen und eventuelle Verbesserungsvorschläge mitzuteilen, natürlich auch Fehler. Hier aber mal noch der Link zum Downloaden der Komponente. | |
Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo | | | Autor: keco | Datum: 15.09.09 00:35 |
| Es gibt ein Update der Komponente (mit Demo)! Im Prinzip wurde das gesamte Projekt neu erstellt und vorige Fehler entfernt und neue Features hinzugefügt. Im kurzen ein Überblick über die Funktionen der Version 3:
- Verwalten von einfachen und datengebundenen Einstellungen
- Erstellung von unbegrenzter Anzahl an Einstellungen
- Integrierung von UITypeEditoren zur einfachen Integrierung im VS
- Möglichkeit zur verschlüsselten Speicherung von Inhalten
- Root-Knoten mit Erweiterten Einstellungen möglich
- Keine weitere Zeile Code nötig (bis auf das Aufrufen der .Save() und .Load() - Methoden)
Die größte Besonderheit dieser Version ist, dass ich auch Auflistungen speichern lassen! Darunter die Auflistungen der ComboBox, ListBox, CheckedListBox, ListView und dem TreeView! Insgesamt werden 26 Datentypen untersützt. Es werden weitere Datentypen folgen, speziell erst einmal die, die bei den gängigsten Steuerelementen vorkommen, z.B. TextAlign etc.
Aus Kompatibilitätsgründen hat sich der Downloadlink geändert, da die Dateierweiterung in zip geändert wurde. In diesem Archiv befindet sich nun auch eine Demo (in der allerdings kein TreeView demonstriert wird).
Vielleicht findet jemand noch Bugs im Control oder hat weitere Ideen und Anregungen. | |
Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo | | | Autor: Luca123 | Datum: 10.10.09 19:13 |
| Super gemacht
und einfach zu bedienen | |
Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo | | | Autor: Christoph1972 | Datum: 11.10.09 14:54 |
| schade, funktioniert nur mit FFW 3.0. Die Idee ist schon mal super! Hätte ich sicher genutzt, aber leider sind wir noch nicht so "modern".
Gruß
Christoph
| |
Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo | | | Autor: keco | Datum: 11.10.09 14:58 |
| Ja, das stimmt. Da ich LINQ verwendet habe um den Code etwas zu erleichtern musste ich auf 3.0 gehen. Ich werde allerdings schauen, dass ich demnächst auch eine Version für FW2.0 schreibe, was ich dann hier bekannt geben würde. Danke. | |
Re: Verwalten von Programmeinstellungen - Ganz einfach | | | Autor: keco | Datum: 16.11.09 16:22 |
| Ich habe nun eine neue Version von der DLL erstellt, welches mit dem .NET Framework 2.0 auskommt. Hier der Link zum Download (Demoprogramm + DLL). Eine kleine Übersicht, die dabei helfen sollte könnt ihr hier auf meiner Seite finden. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|