Laden...

[erledigt] property grid oder listview?

Erstellt von Patzi88 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.083 Views
P
Patzi88 Themenstarter:in
46 Beiträge seit 2006
vor 15 Jahren
[erledigt] property grid oder listview?

Guten Morgen!

Ich hoffe ihr könnt mir weiterhelfen, ich erzeuge mit C# über die API in einen anderen Programm ein projekt. Die Projekteigenschaften werden bisher über ein pop-up Fenster mitgegeben, da dies aber nicht gerade sehr elegant ist möchte ich es gerne so wie im angehängten Bild mach (Snapshot aus dem Originalprogramm).
Da ich relativ neu bin, und eigentlich no nie mit solchen Forms gearbeitet habe fand ich zumindest laut google heraus das es sich um eine listview handeln sollte.
Aber bisher ist es mir versagt geblieben auf der rechten Seite die Eigenschaft zu schreiben (read-only) und links den Wert den man editieren sollte können ist das überhaupt möglich und vorallem wie?

Und zweitens, wie wäre das mit einem propertyGrid? Kann man hier überhaupt spezifische Werte eintragen? bis jetzt habe ich nur Beispiele mit Eigenen Klassen gefunden...

lg

1.200 Beiträge seit 2007
vor 15 Jahren

Ich denke, ein PropertyGrid wäre hier besser geeignet, bei der Form, die du anstrebst.

Dafür musst du natürlich eine Klasse haben, die diese Properties besitzt. Sowas ist doch aber schnell gebaut.

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Patzi88,

auch wenn das Bild wohl ein ListView zeigt, spricht vieles dafür ein PropertyGrid zu verwenden. Ich meine, in einem PropertyGrid kann man auch "virtuelle" Eigenschaften anzeigen lassen, also solche, die es in einem Objekt nicht gibt. Auswählen welche Properties angezeigt werden kann man auf jeden Fall mit TypeConverter.GetProperties. Im schlimmsten Fall muss man CodeDOm benutzen, um ein Objekt mit den passenden Eigenschaften zu erzeugen.

herbivore

1.665 Beiträge seit 2006
vor 15 Jahren

Eindeutig PropertyGrid. Du kannst dann nämlich zu den Properties unter anderem beispielsweise TypeConverter definieren, um die Auswahl/Eingabe von Werten zu erleichtern.
So wie herbivore bereits sagt, können auch zusätzliche Properties angezeigt werden, die im eigentlichen Objekt nicht vorkommen (PropertyDescriptor).
Bei deinem Vorhaben ist TypeDescriptor eine Zentrale Figur bei der Umsetzung.

P
Patzi88 Themenstarter:in
46 Beiträge seit 2006
vor 15 Jahren

Erstmal danke für die vielen Ratschläge!

MIttlerweile habe ich eine eigene Klasse und er zeigt mir auch schön alles an was ich haben will 😉...

Nur habe ich noch eine elementare Frage:

Ich rufe die klasse mit

projectProperties prop1 = new projectProperties();
propertyGrid1.SelectedObject = prop1;

auf funktioniert tadellos, nur wie bekommen ich die Werte wieder in meine ursprüngliche Form zurück, sry aber ich steh total auf der Leitung...

I habs mit einen button versucht der die Klasse aber wieder neu öffnet gleich wie oben und dann ließt er logischerweise nur die vordefinierten Werte aus und nicht die geänderten hmmm....

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Patzi88,

siehe auch PropertyGrid: beliebige Properties eines Objekts anzeigen

herbivore

P
Patzi88 Themenstarter:in
46 Beiträge seit 2006
vor 15 Jahren

Okay danke is mir inzwischen doch wieder eingefallen 😉

Es ist gar nicht so leicht nach den Grundwehrdienst wieder voll drauf los zu programmieren 😉

1.665 Beiträge seit 2006
vor 15 Jahren

nur wie bekommen ich die Werte wieder in meine ursprüngliche Form zurück

DefaultValueAttribute. Dieses setzt du auf die Properties mit dem entsprechenden Standard-Wert.