C# 在树视图中取消选中子节点时取消选中父节点

C# 在树视图中取消选中子节点时取消选中父节点,c#,treeview,C#,Treeview,我有一个树视图,它有父节点和子节点。 当检查父节点时,我使用此代码检查所有子节点 foreach (TreeNode node in treeNode.Nodes) { node.Checked = nodeChecked; if (node.Nodes.Count > 0) { this.C

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

 foreach (TreeNode node in treeNode.Nodes)
            {
                node.Checked = nodeChecked;
                if (node.Nodes.Count > 0)
                {                   
                    this.CheckAllChildNodes(node, nodeChecked);
                }
            }
现在我想要的是,当取消选中子节点时;我需要取消锁定父节点。 我该怎么做? 我必须使用哪个项目


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

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

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

如果我像这样调用你的方法,就会出现错误。取消选中ParentNodes(e.Node);那么如何调用该方法呢?该方法接受类型为
TreeNodeCollection
的参数,因此必须为其提供一个节点集合。使用
e.Node.Nodes