Entwickler-Ecke
WinForms - Text eines Nodes im TreeView wird abgeschnitten
Scofield2011 - Mo 05.12.11 01:22
Titel: Text eines Nodes im TreeView wird abgeschnitten
Hallo,
ich hätte da mal eine Frage zu TreeViews.
Und zwar habe ich ein TreeView mit mehreren Nodes, die jeweils auch Child Nodes haben.
Jetzt habe ich eine Suchfunktion geschrieben, die das Suchergebnis fett gedruckt ausgibt, das funktioniert auch ganz gut.
C#-Quelltext
1:
| TestTree.Nodes[i].NodeFont = new Font(TestTree.Font, FontStyle.Bold); |
Nur leider werden bei einem ausgeklapptem Node Buchstaben oder Teile davon von rechts her abgeschnitten, wahrscheinlich weil die fett gedruckten mehr Platz benötigen und an der bisherigen Stelle geschrieben werden.
Wie kann man den Text des Nodes, der mit oben stehendem Code fett gedruckt wurde in jedem Fall ordentlich darstellen? Muss ich vielleicht den ganzen Node neu zeichnen oder kann man einfach Teile davon aktualisieren?
Vielen Dank schon einmal im Voraus für eure Hilfe.
Scofield2011
mats74 - Mo 05.12.11 09:31
Hallo Scofield2011
Der angezeigte Textbereich des TreeView ist durch die erste Eingabe der Nodetexte gegeben.
Dadurch wird der letzte Buchstabe des Nodetextes beim Verändern der Eigenschaften abgeschnitten.
Dies passiert auch nur auf der untersten Ebene des TreeView (Hauptebene oder Subebene), wenn die Textlänge den vorgegebenen Textbereich ausfüllt.
Wenn Du dies verhindern willst, kannst Du ein Leerschlag dem gewünschten Nodetextes anfügen:
C#-Quelltext
1: 2:
| treeView1.Nodes[0].Nodes[0].FirstNode.NodeFont = new Font(treeView1.Font, FontStyle.Bold); treeView1.Nodes[0].Nodes[0].FirstNode.Text += " "; |
Dann wird der Text in jedem Fall korrekt angezeigt.
Eine professionellere Lösung habe ich bis jetzt nicht gefunden.
Eine Aktualisierung der Strukturknoten bewirkt in diesem Fall nichts.
Scofield2011 - Fr 16.12.11 19:01
Danke noch einmal für den Tipp.
Th69 - Fr 16.12.11 19:54
Hallo,
hattest du den Hinweis zu
NodeFont [
http://msdn.microsoft.com/de-de/library/system.windows.forms.treenode.nodefont.aspx] denn nicht gelesen?
Zitat: |
Wenn die Knotenschriftart größer ist als der im TreeView-Steuerelement festgelegte Font-Eigenschaftswert, wird der Bezeichnungstext des Strukturknotens abgeschnitten.
|
Eine Möglichkeit wäre demnach TreeView.Font auf 'bold' zu setzen und dann die einzelnen Nodes dann mit dem 'normal'-Font zu belegen (bis auf den hervorzuhebenden Knoten).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!