【问题标题】:How can i add the strings to child nodes inside a node?如何将字符串添加到节点内的子节点?
【发布时间】:2014-12-23 23:30:07
【问题描述】:

我有这个代码:

TreeNode newNodeText = null;
TreeNode newNodeParsed = null;
TreeNode rootNode = treeView1.Nodes[0];

if (!txtDir.Text.Contains("/"))
{
    newNodeText = new TreeNode(txtDir.Text);
    rootNode.Nodes.Add(newNodeText);
}
else
{
    List<string> test1 = txtDir.Text.Split('/').ToList();
    for (int i = 0; i < test1.Count; i++)
    {
        newNodeParsed = new TreeNode(test1[i]);
        rootNode.Nodes.Add(newNodeParsed);
    }                       
}

如果在 textBox(txtDir) 中输入的字符串不包含任何“/”,则新节点将添加到 treeView1 的根目录下。

但是如果我输入 textBox(txtDir) 例如 test1/test2/test3/test4 然后我需要 test1 将在 rootNode 下的根目录下,但 test2 将在 test1 内,而 test3 在 test2 内,test4 在 test3 内

里面我的意思是像一个子目录。

我现在需要在 else 部分执行它,它只会将它添加到根目录。

【问题讨论】:

    标签: c# .net winforms treeview


    【解决方案1】:

    您不能一直将节点添加到同一个父节点,因此请尝试在循环时更新对新父节点的引用:

    TreeNode nextNode = rootNode;
    for (int i = 0; i < test1.Count; i++) {
      newNodeParsed = new TreeNode(test1[i]);
      nextNode.Nodes.Add(newNodeParsed);
      nextNode = newNodeParsed;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-25
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多