【问题标题】:Number the nodes of a Treeview control为 Treeview 控件的节点编号
【发布时间】:2012-10-30 10:59:50
【问题描述】:

是否可以将 Treeview 控件的节点命名为 Matrix 之类的名称?

例如:

Parent Node
   --> Child Node
       --> Grand child node
Other Parent Node

类似的事情

-- Node1
   --> Node11
       --> Node111
       --> Node112
         --> Node1121
   --> Node12
   --> Node13
-- Node2

我通过按钮单击添加节点和子节点btnAddNodebtnAddChildNode
现在我只是增加一个计数器值,它没有捕捉到节点是子节点还是父节点(只是增加

【问题讨论】:

    标签: c# treeview


    【解决方案1】:

    最简单的解决方案是使用这两种简单的方法。首先是将 TreeNodes 添加到 TreeView 控件,然后将子节点添加到已添加的节点。

    public void AddNode(TreeView parent, string text)
    {
        if (parent != null)
        {
             parent.Nodes.Add(new TreeNode(text + (parent.Nodes.Count + 1).ToString()));
        }
    }
    public void AddChildNode(TreeNode parent)
    {
        if(parent != null)
        {
             string number = parent.Text;
             parent.Nodes.Add(new TreeNode(number + (parent.Nodes.Count + 1).ToString()));   
        }
    }
    

    要检查它是否正常工作,您可以执行以下操作:

    AddNode(treeView1, "Node");
    AddNode(treeView1, "Node");
    AddNode(treeView1, "Node");
    AddChildNode(treeView1.Nodes[0]);
    AddChildNode(treeView1.Nodes[0]);
    AddChildNode(treeView1.Nodes[0]);
    AddChildNode(treeView1.Nodes[1]);
    AddChildNode(treeView1.Nodes[2]);
    AddChildNode(treeView1.Nodes[2]);
    

    【讨论】:

    • 感谢您的回复。我还需要在这些数字旁边显示一些文字。请参阅我编辑的问题。抱歉迟到了
    【解决方案2】:

    btnAddNode 和 btnAddChildNode 有什么区别?根节点是否用 btnAddNode 添加,所有其他子节点是否用 btnAddChildNode 添加?

    原则上,您可以使用类似以下代码的方式来查找要添加的节点的深度。

       counter = 0 ; 
       while (node.Parent != null)
       {
           node = node.Parent;
           counter++;
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2011-03-12
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      相关资源
      最近更新 更多