【问题标题】:how to get the All the Checkbox values in TreeView control in C#.net(2010) Windows Forms Application?如何在 C#.net(2010) Windows 窗体应用程序中获取 TreeView 控件中的所有复选框值?
【发布时间】:2011-04-21 14:39:12
【问题描述】:

我的 Windows 窗体应用程序中有一个带有复选框的树视图控件。当用户选择多个复选框时,我想显示所有选中的复选框节点的路径。我是怎么做的?

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

【问题讨论】:

    标签: c# c#-4.0


    【解决方案1】:
    protected string getCheckedNodes(TreeNodeCollection tnc)
        {
            StringBuilder sb = new StringBuilder();
    
            foreach (TreeNode tn in tnc)
            {
                if (tn.Checked)
                {
                    string res = tn.FullPath;
                    if (res.Length > 0)
                        sb.AppendLine(res);
                }
                string childRes = getCheckedNodes(tn.Nodes);
                if (childRes.Length > 0)
                    sb.AppendLine(childRes);
            }
    
            return sb.ToString();
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(getCheckedNodes(treeView1.Nodes));
        }
    

    我已经通过字符串输出了它,但你显然可以用它做任何你喜欢的事情,比如将它添加到集合等。

    【讨论】:

    • 感谢 TBohnen。您的代码运行良好。如何在选择父节点时自动选择或取消选择所有子节点?我是怎么做的?
    • 酷,很高兴它成功了,请创建一个不同的问题并在此处发布问题的链接,因为它会混淆这个问题
    猜你喜欢
    • 2011-02-13
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    相关资源
    最近更新 更多