我有这样的代码:
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)中,我键入的字符串dosen不包含任何‘/’,那么新节点将添加到treeView1的根下。
但是,如果我输入textBox(txtDir),例如test1 1/ test2 / test3 / test4,那么我需要test1位于rootNode下面的根下,但是test2在test1中,test3在test2中,test4在test3中
我的意思是在子目录下。
我需要在其他部分做它,因为现在它只是将它添加到根目录中。
发布于 2014-12-23 23:47:48
不能一直将节点添加到同一个父节点,因此在循环时尝试更新对新父节点的引用:
TreeNode nextNode = rootNode;
for (int i = 0; i < test1.Count; i++) {
  newNodeParsed = new TreeNode(test1[i]);
  nextNode.Nodes.Add(newNodeParsed);
  nextNode = newNodeParsed;
}https://stackoverflow.com/questions/27629516
复制相似问题