CheckNode(TreeNode tn)
{
//两个方法分开写,避免冗余触发
CheckChild(tn);
CheckFather(tn);
}
//处理子节点
CheckChild(TreeNode tn)
{
foreach(TreeNode t in tn.Nodes)
{
t.Checked = true;
CheckNode(t);
}
}
//处理上级节点
CheckFather(TreeNode tn)
{
TreeNode t = tn.Parent;
if(t != null)
{
t.Checked = true;
CheckFather(t);
}
}