2009-10-14 82 views
0

我想在TreeNode的文本附近添加一個自定義圖標,以便項目可以顯示「已選中/未選中」狀態。我不想爲此使用複選框。TreeView與自定義繪製的TreeNode

任何想法? 謝謝

+1

你使用什麼語言 – junmats 2009-10-14 08:52:17

+2

什麼GUI框架/工具包? Winforms將與WPF非常不同,即使兩者都可能使用C#。 – Joey 2009-10-14 09:03:01

回答

4

假設您使用.net和Windows窗體。

您必須將TreeView的DrawMode屬性設置爲TreeViewDrawMode.OwnerDrawAll。一旦你這樣做了,treeview的DrawNode事件將在每次繪製樹節點時觸發。處理該事件並手動繪製您的項目。

您將得到DrawTreeNodeEventArgs作爲事件參數。它的狀態屬性會告訴你你必須繪製哪個樹狀物。 e.Bounds將幫助您確定邊界,並且您可以使用e.Graphics進行繪圖。你可以在這裏找到更詳細的信息:

http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.drawnode.aspx

但是準備投資多小時。