【问题标题】:Create combination of TreeNode and children创建 TreeNode 和子节点的组合
【发布时间】:2016-10-07 15:13:53
【问题描述】:

我在创建 TreeNode 和子节点的组合时遇到问题。

这是树:

当父母被选中时,我想要组合

 "formularzA3 076" 
       and
 "formularzA3 041"

我可以检查是否检查了父母:

TreeNodeCollection nodes = tree.Nodes;
   foreach (TreeNode n in nodes)
   {
      if (n.Checked)
      {
          MessageBox.Show(n.ToString());
      }   
   }

但这会返回父级。 如何检查孩子是否也被检查?

【问题讨论】:

    标签: c# .net winforms treeview


    【解决方案1】:

    这里:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.treenode.childnodes(v=vs.110).aspx

    您可以通过TreeNode.ChildNodes 属性访问TreeNode 的孩子(这是一个TreeNodeCollection)。

       TreeNodeCollection nodes = tree.Nodes;
       foreach (TreeNode n in nodes)
       {
          if (n.Checked)
          {
              MessageBox.Show(n.ToString());
          }   
          foreach (TreeNode childNode in n.ChildNodes)
          {
             /* do something */
          }
       }
    

    编辑:为什么不从 整个 集合中获取所有已检查的节点,就像此答案中发生的那样?:Get list of all checked nodes and its subnodes in treeview

    这里还有一篇方便的 MSDN 文章,介绍如何遍历 TreeNodeCollection 中的所有节点:https://msdn.microsoft.com/en-us/library/wwc698z7(v=vs.110).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多