62,046
社区成员
发帖
与我相关
我的任务
分享
treeView1.GetAllNodes().Where(x => x.Text == "aa").ToList()
.ForEach(x =>
{
TreeNode tn = x;
while (tn != null)
{
tn.Expand();
tn = tn.Parent;
}
});
static class TreeViewNodeIterator
{
private static IEnumerable<TreeNode> GetChild(TreeNode tnparent)
{
foreach (TreeNode tn in tnparent.Nodes)
{
if (tn.Nodes.Count > 0)
{
foreach (TreeNode tnchild in GetChild(tn))
{
yield return tnchild;
}
}
yield return tn;
}
}
public static IEnumerable<TreeNode> GetAllNodes(this TreeView treeview)
{
if (treeview == null) throw new NullReferenceException();
foreach (TreeNode tn in treeview.Nodes)
{
if (tn.Nodes.Count > 0)
{
foreach (TreeNode tnchild in GetChild(tn))
{
yield return tnchild;
}
}
yield return tn;
}
}
}