2009-04-11 13 views
3

Ich habe ein TreeView-Steuerelement in WinForms, das aus einer Vielzahl von Datenbankinhalten gefüllt wird. Ich muss die minimale Breite des Treeview-Steuerelements berechnen (nachdem es aufgefüllt ist), so dass horizontale Bildlaufleisten nicht erforderlich sind, um den Inhalt anzuzeigen. Die Berechnung muss die Größe des längsten Textes in der Baumstruktur berücksichtigen, aber auch Einrückungsebenen, Hierarchiegrafiken usw. berücksichtigen.Beste Möglichkeit, ein WinForms-TreeView-Steuerelement horizontal zu skalieren?

Ich sehe keinen offensichtlichen Weg, die Baumansichts-Steuerung basierend auf horizontal zu skalieren Sein Inhalt. Hat jemand einen guten Weg gefunden, dies zu erreichen?

Vielen Dank im Voraus ...

Mark

Antwort

1

Scannen Sie durch die Liste, die Berechnung der maximal:

text_width + indent_size * indent_level + image_width 

eine einzige Iteration durch die Liste in einer ziemlich gute Schätzung führen sollte auf der Breite der Baumansicht. Je nach Anwendung können Sie alle Knoten oder nur sichtbare Knoten wiederholen.

Verwandte Themen