Hallo zusammen,
zu einem TreeView gibt es die Anforderung den Font einzelner Nodes zur Lauifzeit anzupassen. Ist soweit auch selber kein Problem:
treeNode.NodeFont = <Font>
Das Probelm dabei ist dass, wenn der neue Fobnt mehr Platz benötigt den Text der Node anzuzeigen, nur noch kleine Bestandteile des Nodetextes zu sehen sind. Über das zusätzliche Statement
treeNode.Text = treeNode.Text
kann erreicht werden dass der text in der kompletten Breiten angezeigt wird. Leider gilt das aber nicht für die Höhe des Textes.
Hat damit jemand Erfahrung und kann mir dazu einen Tip geben?
Vielen Danbk und viele Grüße, Karl
Hallo telfa,
ich vermute, dass alle Nodes immer gleich hoch dargestellt werden. Ich vermute daher, dass du nach einer globalen Einstellung suchen musst, z.B. für das TreeView selbst von vornherein einen Font festlegen, der so groß ist, wie der größte später für die einzelnen Nodes zu setzende Font.
Möglicherweise gibt es im Netz TreeView-Klassen, die unterschiedlich große Items unterstützen.
herbivore
Hi,
dies steht auch so in der MSDN-Hilfe TreeNode.NodeFont-Eigenschaft als Hinweis:
Wenn die Knotenschriftart größer ist als der im TreeView-Steuerelement festgelegte Font-Eigenschaftswert, wird der Bezeichnungstext des Strukturknotens abgeschnitten.
Da scheint es also keine andere Möglichkeit zu geben.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Vielen dank an herbivore, Cat und Programmiehans für die Hinweise.
Denke ich werde die neue Höhe der TreeNode ermitteln und dann ggf die TrieView.ItemHeight-Eigenschaft anpassen.
Vielen Dank und Gruß,
Karl