2009-05-12 3 views
1

Ich arbeite an einer Rasteransicht, die Zellen anzeigen wird, die einige Steuerelemente darin enthalten werden. Zum Beispiel hat eine Zelle drei oder vier Etiketten und möglicherweise einen Farbwähler. Die Werte dieser Labels können datengebunden sein.So erstellen Sie ein benutzerdefiniertes DataGridViewCell

Ich nehme an, dass ich ein benutzerdefiniertes DataGridViewCell erstellen muss, aber ich habe eine harte Zeit, eine Dokumentation zu finden, die über diese Art von benutzerdefinierter Zelle spricht. Die meisten Beispiele veranschaulichen, wie eine DataGridViewCell erweitert wird, indem Sie andere Typen von DataGridViewCell wie DataGridViewImageCell verwenden.

Hat jemand ein Beispiel für benutzerdefinierte Zellklasse, die von DataGridViewCell abgeleitet ist?

Hier ist mein schrecklicher Versuch zu versuchen, diese Zelle in paint.Net zeichnen. Ich hoffe, dass Sie nach dem Lachen eine Vorstellung von der benutzerdefinierten Zelle erhalten, die ich erstellen möchte. alt text http://lh3.ggpht.com/_UxHcYyy8tU8/SgmTd1MqUOI/AAAAAAAAAnU/lO2bE7-gvpg/s800/DataGridViewCell.png

Antwort

2

Ich dachte mehr darüber nach und ich entdeckte, dass mein Ansatz falsch war. Das DataGridView bietet eine gute Unterstützung für das Hinzufügen von Benutzersteuerelementen im Bearbeitungsmodus, aber die Ansicht, die ich erstelle, soll immer interaktiv sein und ist wahrscheinlich nicht für ein DataGridView geeignet.

Die Lösung, die ich gefunden habe, war die Verwendung eines TableLayoutPanel. Dieses Steuerelement funktioniert gut für mich, weil Sie so viel Kontrolle darüber haben, wie es gerendert wird, und es ist sehr einfach, Steuerelemente darin zu verschachteln.

Vielleicht muss die Frage, die ich gestellt habe, ein wenig optimiert werden, weil die Lösung, die ich ausnehme, mein Problem löst, aber die Frage nicht wirklich beantwortet.

1

Wenn das Layout der Zellenansicht statisch ist, ist es möglicherweise angebracht, ein Benutzersteuerelement in der Zelle zu hosten.