2009-09-04 11 views
1

ディレクトリを表示するために.NETでカスタムツリービューコントロールを作成しました。カスタムTreeView OnDrawNodeは呼び出されません

私が望むのは、ノードがフォルダ名と最後に変更された日付を表示することです。

これを含めるようにテキストを設定するだけで、完全なパスを使用して子ノードを取得しようとすると、日付も含まれるため、フォルダが見つかりません。

ノードのタグプロパティに格納されている日付を表示するために、OnDrawNodeをオーバーライドしてみました。しかし、私はそれを呼び出すことはありませんアプリを実行するとき。

これには何らかの理由がありますか?

答えて

3

DrawModeプロパティをOwnerDrawAllまたはOwnerDrawTextに設定する必要があります。それ以外の場合は、ノードがシステムによって描かれ、そしてOnDrawNode


UPDATEと呼ばれていません:カスタムレンダリングでレンダリングデフォルトを組み合わせることが、あなたはそれを行うことができます。

protected override void OnDrawNode(DrawTreeNodeEventArgs e) 
    { 
     e.DrawDefault = true; 
     base.OnDrawNode(e); 
     // your custom rendering here 
    } 
+0

感謝を。デフォルトを描画する方法はありますか?ノードにテキストを追加するだけですか?デフォルトのように見えるようにするのはたくさんの作業です。多分、完全なパスを使って検索する前に日付を空白に置き換えるようにコードを変更するのが最善でしょうか? – ddd

+0

私の更新された回答を参照 –

+0

Doh、どうして私はそれを逃しましたか:(ありがとう、私は後で試してみます。 – ddd

関連する問題