Eigener Typ für User-Settings

26/04/2010 - 10:32 von Stefan Offermann | Report spam
Hallo zusammen,

ich möchte die Settings aus dem User-Scope für den Anwender schnell
und einfach ànderbar darstellen (Windows Forms, .NET 3.5). Bisher habe
ich eine Form mit einem PropertyGrid und zwei Buttons (Speichern,
Abbrechen). Beim Load-Event der Form setze ich

propertyGrid1.SelectedObject = Properties.Settings.Default;

In den Settings kann ich nur eine eingeschrànkte Auswahl an Datentypen
für jedes einzelne Setting wàhlen, string, int, etc. Für Dateipfade in
den Settings hàtte ich nun gerne einen OpenFileDialog, damit der
Anwender keine Zeichen direkt tippen muss. Kann ich hier einen Typ
wàhlen, mit dem das möglich ist oder kann ich mir eine Klasse
implementieren, die zum Editieren des Setting-Values im PropertyGrid
einen OpenFileDialog öffnet?

Bisher haben meine Googlesuchen leider nicht zu einem Ergebnis
geführt. Scheinbar könnte UITypeEditor zur Lösung beitragen, aber ich
habe noch nicht verstanden wie ich damit umgehen muss. Evtl. brauche
ich hier nur einen Schubs in die richtige Richtung.

Beste Grüße, Stefan
 

Lesen sie die antworten

#1 Ulf [Kado] Kadner
26/04/2010 - 11:45 | Warnen spam
Am 26.04.2010 10:32, schrieb Stefan Offermann:

propertyGrid1.SelectedObject = Properties.Settings.Default;

In den Settings kann ich nur eine eingeschrànkte Auswahl an Datentypen
für jedes einzelne Setting wàhlen, string, int, etc.



Oder hat eigene Typen die mit [Serializable] gekennzeichnet sind bzw.
ISerializable implementieren

Für Dateipfade in
den Settings hàtte ich nun gerne einen OpenFileDialog, damit der
Anwender keine Zeichen direkt tippen muss.



Dann must Du einen entsprechenden Editor-Type im Editor Atribut dem Feld
zuweisen.

[Editor(typeof(System.Windows.Forms.Design.FileNameEditor),
typeof(System.Drawing.Design.UITypeEditor))]
public string MyFilePath { get; set; }

Nicht vergessen die System.Design.dll als Reference/Verweis zum Projekt
hinzuzufügen.

MfG, Ulf

Man kann die Erkenntnisse der Medizin auf eine knappe Formel bringen:
Wasser, màßig genossen, ist unschàdlich [Mark Twain]

Ähnliche fragen