2

ImageListコントロールなしでc#のTreeViewコントロールにアイコンを追加するにはどうすればよいですか?OnPaintイベント引数を呼び出す必要があると思いますが、その方法がわかりません。

4

3 に答える 3

3

あなたはOwnerDrawコントロールをコーディングする必要があります。本当に深刻な理由がない限り、これは避けてください。良い方法でやりたい場合は、非常に複雑なシナリオになる可能性があります。

この例を見てください。

DrawNodeイベント

于 2011-08-30T21:22:54.273 に答える
2

オーバーライドOnDrawNode()してに設定DrawModeできますTreeViewDrawMode.OwnerDrawAll。ただし、デフォルトのツリービューの正確な動作をエミュレートすることはほとんど不可能であることがすぐにわかります。コントロールによって非公開にされている状態がいくつかあり、多くの手間をかけずにアクセスすることはできません。

たとえば、標準のツリービューコントロールでは、ノードを離さずにマウスボタンを押すと、ツリービューコントロールによって選択されたものとして登録される前に、ノードが選択されたものとして表示されます。所有者が描画したノードを使用することは非常に困難であり、基本的にすべてを再実装する必要があることをエミュレートしようとします。

于 2011-08-30T21:26:26.153 に答える