在树视图中取消触发子节点时取消触发父节点

时间:2014-05-20 05:32:01

标签: c# treeview

我有一个树视图,它有父节点和子节点。 检查父节点时,我正在使用此代码检查所有子节点。

 foreach (TreeNode node in treeNode.Nodes)
            {
                node.Checked = nodeChecked;
                if (node.Nodes.Count > 0)
                {                   
                    this.CheckAllChildNodes(node, nodeChecked);
                }
            }

现在我想要的是,当取消选中一个子节点时;我需要解开父节点。 我怎样才能做到这一点? 我必须使用哪个活动?

我正在使用C#Windows应用程序。

1 个答案:

答案 0 :(得分:1)

你可以使用下面提到的方法

private void UncheckParentNodes(TreeNodeCollection node)
{
    foreach (TreeNode n in node)
    {
        if (n.Parent == null && n.Nodes.Count == 0)
            n.Checked = false;
    }
}