我正在嘗試使用TreeView控件創建文件夾資源管理器。現在,我添加了一個ImageList和兩個圖像 - 一個用於文件夾,另一個用於選定的文件夾。我使用'BeforeExpand'事件來更改當前節點(文件夾)的圖標。問題是,當用戶選擇其他文件夾時,我不知道如何將其更改回來......我可以使用什麼事件?也許我不使用它的權利...?控制TreeView中節點的圖像
0
A
回答
0
我認爲你必須保持擴大的最後一個節點的參考,因此如果用戶可以更改它以後
0
嗯,我不知道如果我理解正確的,但實際上,在一個文件夾資源管理器上下文,展開另一個節點,則不需要在之前擴展的節點上執行任何特定操作。如果用戶再次單擊它,則可以使用BeforeCollapse事件將其更改回來。它會適合你的需求嗎?
3
我假設您只想在選擇給定節點時更改顯示的TreeNode圖像。我不打算在這裏解決每個TreeNode帶有子節點的文件夾圖標的問題:我想如果你掌握了這裏發生的事情,那麼添加一個(第三)圖像和「正確的事情「來使文件夾顯式化:然後,如果您願意,可以擴展該文件夾,因此具有」無子節點「的節點可以具有用於選定/未選中的不同圖標。
(1添加一個ImageList到窗體與兩個圖像:索引#圖像0將是默認的(未選)樹節點圖像
(2添加AfterSelect事件處理程序到您的TreeView:改變形象在「選擇」圖像
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
e.Node.SelectedImageIndex = 1;
}
你會注意到,作爲選擇的節點發生變化:。之前選擇的樹節點的圖像將自動恢復到使用它的默認圖像(索引#0在ImageList)
注意:恕我直言,這很重要他重新區分在TreeView中展開TreeNode並在TreeView中選擇TreeNode:通過單擊「+」圖標可以展開任何TreeNode(帶有子節點):但不會選中它。當然,雙擊將同時展開和選擇。
相關問題
- 1. 檢測TreeView節點圖像點擊
- 2. Treeview更改樹節點的圖像
- 3. 限制treeview節點中的字符
- 4. 爲TreeView中的不同節點分配不同的圖像
- 5. ASP.NET:在TreeView控件中顯示葉節點作爲父節點
- 6. 展開/摺疊只有節點圖像的TreeView點擊
- 7. Show Loading TreeView節點在WPF中單擊時的圖像
- 8. 添加圖像在C#中的TreeView一個paticular節點
- 9. TreeView中消失的節點
- 10. C#TreeView節點
- 11. TreeView的根節點被複制
- 12. TreeView控件只加載頂級節點
- 13. 在treeview控件上移動節點
- 14. 向Treeview控件添加子節點ASP.Net
- 15. 在TreeView中拖放節點
- 16. 黑莓替換treeview與我自己的節點圖像
- 17. treeview節點事件
- 18. TreeView強制父節點進行檢查
- 19. 複製/粘貼Treeview節點標籤
- 20. Treeview節點點擊行爲
- 21. MVVM Treeview點擊節點
- 22. 在asp.net中維護treeview控件中collasped/Expanded節點的狀態
- 23. treeview根節點的索引
- 24. 排序TreeView的節點
- 25. TreeView的根節點風格
- 26. 多行的TreeView節點
- 27. C#的TreeView節點路徑
- 28. 拖動TreeView的節點
- 29. 識別treeview節點集合中點擊的節點
- 30. 有沒有辦法將圖像插入TreeView節點標籤?
這是wpf還是winforms? – Mathias 2010-04-03 17:41:07