Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[erledigt] property grid oder listview?
Patzi88
myCSharp.de - Member



Dabei seit:
Beiträge: 46

Themenstarter:

[erledigt] property grid oder listview?

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Patzi88 am .
Attachments
private Nachricht | Beiträge des Benutzers
GMLOD
myCSharp.de - Member

Avatar #avatar-2654.jpg


Dabei seit:
Beiträge: 1.200

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
JunkyXL
myCSharp.de - Experte

Avatar #avatar-3234.gif


Dabei seit:
Beiträge: 1.665
Herkunft: Ein paar Bytes südlich von string

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Patzi88
myCSharp.de - Member



Dabei seit:
Beiträge: 46

Themenstarter:

beantworten | zitieren | melden

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....
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Patzi88,

siehe auch PropertyGrid: beliebige Properties eines Objekts anzeigen

herbivore
private Nachricht | Beiträge des Benutzers
Patzi88
myCSharp.de - Member



Dabei seit:
Beiträge: 46

Themenstarter:

beantworten | zitieren | melden

Okay danke is mir inzwischen doch wieder eingefallen ;)

Es ist gar nicht so leicht nach den Grundwehrdienst wieder voll drauf los zu programmieren ;)
private Nachricht | Beiträge des Benutzers
JunkyXL
myCSharp.de - Experte

Avatar #avatar-3234.gif


Dabei seit:
Beiträge: 1.665
Herkunft: Ein paar Bytes südlich von string

beantworten | zitieren | melden

Zitat von Patzi88
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.
private Nachricht | Beiträge des Benutzers