4

WinFormsTreeViewがあります。TreeViewは、より詳細なビューの要約を表します。私が使用している視覚的な手がかりの1つは、ノードのテキストを太字または規則的にすることです。問題は、ノードのフォントを通常のフォントから太字に変更すると、太字のテキストを通常のテキストのスペースに収めようとしているようにテキストがクリップされることです。

少しブラウジングすると、通常の回避策は、TreeViewのフォントを太字のフォントに設定し、ノードを選択的に通常に設定することです。

これはうまく機能しますが、ノードを通常に変更した後、太字に戻すと、再びクリップされます。ビューを動的に更新しているので、この問題が発生しています。

驚いたことに、Stackoverflowでこの問題への参照を見つけることができなかったので、今ここで少しやってみようと思いました。この問題に対するより徹底的な(ただし、あまり複雑ではない)回避策または解決策を知っている人はいますか?

.Net 2.0で実行されているC#3を使用していますが、必要に応じて.Net3.5を使用できます。

[アップデート]

テイカーはいませんか?それは最悪だ。私がこれまでに思いついた最善の方法は、弦の端にたくさんのスペースを追加することです(それを成長させる余地を与えるため)。それは非常に多くのレベルでにおいがします(特にそれがスクロールバーに影響を与えるため)。これは開発チームの内部アプリのためだけのものであるため、サードパーティのコントロールを使用する(または自分で作成する)必要はありません。比喩を変えることを考えていますが、それはぴったりです。

4

3 に答える 3

10

VB.Netで同じ問題が発生し、解決策は次のように呼び出すことでした。

TreeView.BeginUpdate()'-ここにツリーノードを入力します。TreeView.EndUpdate()

于 2010-02-15T02:30:42.403 に答える
3

別の解決策を見つけました:キーとテキストのプロパティを持つノードを追加した後にフォントを変更するのではなく、フォントを変更した後にテキストを設定します

于 2010-11-09T13:09:27.283 に答える
0

同じ問題が発生しました(C#)。私の解決策は次のとおりです。最初にtreeViewフォントを太字に設定し、一部のノードを太字にする必要がない場合は、フォントを通常に変更します。

if (conditionForRegularTreeNode)
  newNode.NodeFont = new Font(treeView.Font, FontStyle.Regular);
于 2014-03-28T22:53:22.003 に答える