2009-09-04 45 views
1

我已經創建了.NET顯示目錄自定義的樹視圖控件。定製的TreeView OnDrawNode從未被稱爲

我要的是爲節點,以顯示該文件夾的名稱,也是最後修改日期。

我可以只設置文本,包括這一點,但這樣做,那麼當我嘗試使用完整路徑,也包括日期,因此該文件夾中沒有找到讓子節點。

於是,我就重寫OnDrawNode因爲它是存儲在節點的標籤屬性來顯示日期。但是,當我運行該應用程序,它從來沒有被調用。

這是否有任何理由?

回答

3

您必須將DrawMode屬性設置爲OwnerDrawAllOwnerDrawText。否則,該節點被系統抽取,並OnDrawNode不叫


UPDATE:結合默認與自定義渲染渲染,你可以這樣做:

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

感謝。有沒有一種方法來繪製默認值,但也可以將一些文本附加到節點上?讓它看起來像默認一樣是很多工作。也許最好更改代碼,以便在使用完整路徑搜索之前用空白替換日期? – ddd 2009-09-04 19:03:39

+0

看到我更新的答案 – 2009-09-04 19:12:27

+0

衛生署,我怎麼會錯過:(謝謝,我會稍後再試。 – ddd 2009-09-04 19:55:19