Laden...

In TreeView Font der TreeNode verändern, so dass der Text im neuen Font vollständig angezeigt wird

Erstellt von telfa vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.834 Views
t
telfa Themenstarter:in
156 Beiträge seit 2012
vor 11 Jahren
In TreeView Font der TreeNode verändern, so dass der Text im neuen Font vollständig angezeigt wird

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

49.485 Beiträge seit 2005
vor 11 Jahren

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

771 Beiträge seit 2009
vor 11 Jahren

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.

4.221 Beiträge seit 2005
vor 11 Jahren

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

t
telfa Themenstarter:in
156 Beiträge seit 2012
vor 11 Jahren

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