我有一個treeview控件,它的子節點被映射到列表中的元素,當列表狀態中的元素髮生變化時,我需要更新相應的treeview節點,同樣,當用戶選擇一個treenode,我可以映射到列表中的元素,記錄映射的最佳方法是什麼?Winform中的TreeView節點映射
3
A
回答
3
如果是標準的WinForms TreeView,則可以在每個節點上使用Tag property來存儲對相應列表項的引用。
如果您還使用ListView,則每個ListViewItem也有一個Tag property,可用於引用相應的treenode。
使用TreeNodes和ListVIewItems的Tag屬性可讓您輕鬆實現它們之間的雙向同步。
這些標籤屬性是對象類型的,所以你可以實際存儲你需要的任何東西。在你的情況下,當用戶編輯一個ListViewItem時,你首先得到Tag屬性,將其轉換爲TreeNode對象並根據需要更新TreeNode的狀態。
當用戶編輯TreeNode項目時,相反的過程也適用。
[更新]
在用戶界面的樹控制和列表控制似乎齊頭並進的許多畫面。但是,在Windows窗體中,TreeView和ListView(或List)是完全獨立的控件,不一定需要一起使用。因此沒有建立這些控件同步的方法。標籤屬性和/或事件是這些控件之間同步最常用的方法。
1
我不記得這是否特別適用於Winforms中的TreeView控件,但是http://updatecontrols.net/是一個很好的數據綁定設置,它使得更新以非常平穩的方式實現超快速。你應該採取一個高峯。
+0
真酷酷圖書館。 – Benny 2009-12-19 04:02:43
相關問題
- 1. C#winform:節點在TreeView中展開和摺疊
- 2. C#TreeView節點
- 3. TreeView的子節點無法反映綁定中的更改
- 4. 在TreeView中拖放節點
- 5. XSLT映射父節點的不同子節點
- 6. treeview節點事件
- 7. 檢查Treeview節點
- 8. Arraylist映射到鏈表列表節點
- 9. GSON節點/鏈接對象映射
- 10. TreeView的節點不顯示
- 11. 排序TreeView的節點
- 12. C#的TreeView節點路徑
- 13. Drupal位置gmap節點映射不顯示在節點頁面
- 14. BizTalk - 如何將這兩個節點映射到重複節點?
- 15. 映射到另一個節點並比較節點
- 16. WPF TreeView中的節點之間的線
- 17. 地圖中的映射點
- 18. 將子節點添加到VB中的TreeView上的Childe節點
- 19. 訪問TreeView中的父節點?
- 20. 隱藏WPF中的TreeView根節點
- 21. 檢查TreeView中檢查的節點數
- 22. 獲取在treeview中選擇的節點
- 23. 在節點中的C#WPF TreeView按鈕
- 24. Treeview中節點之間的空間wpf
- 25. 控制TreeView中節點的圖像
- 26. 限制treeview節點中的字符
- 27. treeview節點中的標籤文本值
- 28. 在C#treeview中展開特定節點的所有父節點
- 29. 如何將節點添加到TreeView中的選定節點?
- 30. TreeView自定義節點
這就是我目前使用的,我只是想知道這是否是最好的方法。 – Benny 2009-12-19 02:48:35
取決於「最佳方式」是什麼意思?這可能是最靈活的方式,因爲您可以訪問直接的TreeNode/ListViewItem。每次要查找特定項目時,簡單參考也比搜索列表或樹更快。 – Ash 2009-12-19 02:55:55
同意你的意見。 – Benny 2009-12-19 03:01:19