How can I get a list of all tree nodes (in all levels) in a TreeView
control?
Lazy LINQ approach, just in case you're looking for something like this:
private void EnumerateAllNodes()
{
TreeView myTree = ...;
var allNodes = myTree.Nodes
.Cast()
.SelectMany(GetNodeBranch);
foreach (var treeNode in allNodes)
{
// Do something
}
}
private IEnumerable GetNodeBranch(TreeNode node)
{
yield return node;
foreach (TreeNode child in node.Nodes)
foreach (var childChild in GetNodeBranch(child))
yield return childChild;
}