Gateway_man Geschrieben 17. Februar 2012 Teilen Geschrieben 17. Februar 2012 Hallo, ich bin momentan an einem neuen Control dran, das ähnlich wie ein Datagridview aufgebaut ist nur zum einen Zeitgemäßer wirken soll und flexibler sein soll. Nun die meisten von euch haben bestimmt schon mit dem Datagridvew gearbeitet und wissen, das wenn man die Columns Property öffnet und eine Column hinzufügt, ein weiterer Dialog geöffnet wird. In diesem Dialog wird man gefragt welchen Columntyp man nehmen möchte und muss zudem den headertext sowie den columnnamen angeben. Exakt dieses Verhalten möchte ich auch haben :beagolisc. Aber ich kriegs nicht gebacken. Zur aktuellen Ausgangslage: Ich habe eine Klasse Column, welche die allgemeinen Properties wie name, headertext, Witdh, SizeMode, etc. implementiert hat. Dann habe ich "spezielle" Columnklassen die von der Klasse Column erben und entsprechend erweitern. (Bsp. TextBoxColumn, CheckBoxColumn, etc.). Dann hab ich eine Klasse ColumnCollection die eine List<Column> implementiert. Die ColumnCollection ist gleichzeitig meine Columns Property in meinem Control. Folgendes Resultat: Immer wenn ich die Property im PropertyGrid öffne und eine Liste hinzufüge, wird objekt vom Typ Column hinzugefügt. Das das normal ist bei einer typisierten liste vom Typ Column ist mir schon klar. Allerdings fällt es mir schwer von alleine auf einen geeigneten Lösungsweg zu kommen. Wenn jemand einen Hinweis hat, wäre das klasse . Lg Gateway Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pixie Geschrieben 17. Februar 2012 Teilen Geschrieben 17. Februar 2012 nur zum einen Zeitgemäßer wirken soll und flexibler sein soll. Für das Wirken kann man ja das Control selbst zeichnen. Was soll denn an der Flexibilität anders sein? Dann habe ich "spezielle" Columnklassen die von der Klasse Column erben und entsprechend erweitern. (Bsp. TextBoxColumn, CheckBoxColumn, etc.). Dann hab ich eine Klasse ColumnCollection die eine List<Column> implementiert. Die ColumnCollection ist gleichzeitig meine Columns Property in meinem Control. Warum keine BindingList? Folgendes Resultat: Immer wenn ich die Property im PropertyGrid öffne und eine Liste hinzufüge, wird objekt vom Typ Column hinzugefügt. Das das normal ist bei einer typisierten liste vom Typ Column ist mir schon klar. Allerdings fällt es mir schwer von alleine auf einen geeigneten Lösungsweg zu kommen. Irgendwie stehe ich gerade auf dem Schlauch... was ist jetzt das Problem? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HJST1979 Geschrieben 17. Februar 2012 Teilen Geschrieben 17. Februar 2012 Hallo es vielleicht für manche hier wichtig zu wissen, ob du WinForms nutzt oder WPF. Ich kann dir für solche Geschichten eigentl. nur noch WPF empfehlen ist aber nur eine pers. Meinung von mir. Gruß Hans-Jörg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HJST1979 Geschrieben 17. Februar 2012 Teilen Geschrieben 17. Februar 2012 Hallo vielleicht hilft das hier weiter Add Custom Properties to a PropertyGrid - CodeProject® Gruß Hans-Jörg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 20. Februar 2012 Autor Teilen Geschrieben 20. Februar 2012 Für das Wirken kann man ja das Control selbst zeichnen. Was soll denn an der Flexibilität anders sein? Das mach ich ja . Ich will nur ähnliche Eigenschaften wie das Orginale DGV mit reinnehmen. Aber davon erben möchte ich auch nicht, da ich sonst die ganzen Eigenschaften miterbe die mein Control später nicht supporten wird. Nein es handelt sich nicht um wpf sondern um WindowsForms. Und ich glaube es bringt nichts das hier weiterzuführen, da ich es nicht hinbekomme mein Problem verständlich zu erläutern (ist ein bisschen speziell) . Ich werde einfach mal in die WinForms Dll reinschaun und mal nachsehn wie ms das macht. Trotzdem danke. lg Simon Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.