检查并取消选中c#中树视图的所有节点

Bar*_*bie 5 c# treeview tabcontrol winforms

我在我的Windows应用程序和树视图中有树形视图,带有复选框,我有一些"父节点"和一些"子节点",我希望在单击时一次检查和取消检查父节点和子节点"全部检查"和"取消全部检查"按钮......我该怎么做?

Ola*_*gen 17

尝试这样的事情:

public void CheckAllNodes(TreeNodeCollection nodes)
{
    foreach (TreeNode node in nodes)
    {
        node.Checked = true;
        CheckChildren(node, true);
    }
}

public void UncheckAllNodes(TreeNodeCollection nodes)
{
    foreach (TreeNode node in nodes)
    {
        node.Checked = false;
        CheckChildren(node, false);
    }
}

private void CheckChildren(TreeNode rootNode, bool isChecked)
{
    foreach (TreeNode node in rootNode.Nodes)
    {
        CheckChildren(node, isChecked);
        node.Checked = isChecked;
    }
}
Run Code Online (Sandbox Code Playgroud)