using System.Collections.Generic; using System.Windows.Forms; namespace JD.WinFormExtensions { public static class TreeViewExtensions { #region Methods public static IEnumerable GetAllNodes(this TreeView treeView) { foreach (TreeNode treeNode in treeView.Nodes) { yield return treeNode; foreach (TreeNode subNode in GetAllNodesFrom(treeNode)) { yield return subNode; } } } public static IEnumerable GetAllNodesFrom(TreeNode rootNode) { foreach (TreeNode treeNode in rootNode.Nodes) { yield return treeNode; foreach (TreeNode subNode in GetAllNodesFrom(treeNode)) { yield return subNode; } } } #endregion } }