treeview獲取當前點擊的節點「treeview控件實用詳解」

在使用Treeview控件時,經常要遍歷其所以節點。Treeview控件本身沒有這個功能。這裡我們利用遞歸方法,實現GetAllNodes()函數來獲得根所有根節點下的節點。返回值為節點列表,函數為靜態。

我們可以把這兩個函數增加到Treeview樹的類中,叫擴展類功能。

這裡的this,指明擴展類的主體。一個是Treeview,獲得整個樹的所有節點列表,一個是節點,獲得該節點下的所有節點列表。

public static class TreeViewExtensions
{
 public static List<TreeNode> GetAllNodes(this TreeView tv)
 {
 List<TreeNode> result = new List<TreeNode>();
 foreach (TreeNode child in tv.Nodes)
 {
 result.AddRange(child.GetAllNodes());
 }
 return result;
 }
 public static List<TreeNode> GetAllNodes(this TreeNode node)
 {
 List<TreeNode> result = new List<TreeNode>();

 result.Add(node);
 foreach (TreeNode child in node.Nodes)
 {
 result.AddRange(child.GetAllNodes());
 }

 return result;
 }
}

例子,直接調用

treeview.GetAllNodes();

獲得該樹里的所有節點 。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/273561.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:06
下一篇 2024-12-17 14:06

相關推薦

發表回復

登錄後才能評論