1

完全に所有者が描画するカスタムwinformsTreeviewを作成しています。太字のテキストノードが描画され、ツリービューの幅を超えると、水平スクロールバーがそれ以上スクロールできないため、テキストが切り取られます。太字のテキストと関係があり、正しい幅がわからないと思います。スクロールバーを修正して、最後までスクロールできるようにする方法はありますか。

4

1 に答える 1

1

これに対する明確な修正はありません。ネイティブのWindowsツリービューコントロールに「MeasureNode」のようなメッセージがありません。幅の広い文字列をカスタム描画する場合、水平スクロールバーに適切な範囲を与えるために必要です。したがって、必然的に、それは依然としてTreeNode.Text文字列のサイズに基づいています。

これには汚い修正があります、それは動作しますが不快です。これを行うには、TreeNode.Textプロパティに、スクロールバーを形で叩くのに十分な幅の偽の文字列を指定します。そして、たとえば、Tagプロパティを使用して、描画する実際の文字列を格納します。醜いが効果的なハック。そのコードを簡単に隠すことができないので不快です。

于 2013-02-13T23:51:40.697 に答える