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;
}