如何在选择或取消选择其父节点时自动选择或取消选择所有子节点?

Sar*_*nan 5 c# winforms

我的Windows窗体应用程序中有一个带有复选框的树视图控件.如果选择或取消选择其父节点,如何自动选择或取消选择所有子节点?

Fré*_*idi 12

如果我没弄错的话,AfterCheck事件文档中的示例代码完全符合您的要求.

  • @Sourav,你的意思是,因为我没有复制文档中的代码?它可以在我提供的链接中找到。也就是说,你是对的,我可能不应该回答这个问题,但由于缺乏研究工作而投票结束它。2011年的时候我还在摸索…… (2认同)

Vij*_*iri 12

    private void HandleOnTreeViewAfterCheck(Object sender,
       TreeViewEventArgs e)
    {
        CheckTreeViewNode(e.Node, e.Node.Checked);
    }

    private void CheckTreeViewNode(TreeNode node, Boolean isChecked)
    {
        foreach (TreeNode item in node.Nodes)
        {
            item.Checked = isChecked;

            if (item.Nodes.Count > 0)
            {
                this.CheckTreeViewNode(item, isChecked);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)