How can I get a list of all tree nodes (in all levels) in a TreeView
control?
You can use two recursive extension methods. You can either call myTreeView.GetAllNodes()
or myTreeNode.GetAllNodes()
:
public static List GetAllNodes(this TreeView _self)
{
List result = new List();
foreach (TreeNode child in _self.Nodes)
{
result.AddRange(child.GetAllNodes());
}
return result;
}
public static List GetAllNodes(this TreeNode _self)
{
List result = new List();
result.Add(_self);
foreach (TreeNode child in _self.Nodes)
{
result.AddRange(child.GetAllNodes());
}
return result;
}