如何将字符串添加到节点内的子节点
本文关键字:节点 子节点 添加 字符串 | 更新日期: 2023-09-27 18:35:13
我有这个代码:
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) 中字符串 i 类型不包含任何 '/',则新节点将添加到 treeView1 中的根下。
但是如果我输入文本框(txtDir),例如test1/test2/test3/test4然后我需要 test1 将在根节点下的根下,但 test2 将在 test1 内,test3 在 test2 内,test4 在 test3 内
在里面,我的意思是像子目录一样。
我现在需要在 else 部分中执行此操作,它只会将其添加到根目录中。
您不能继续将节点添加到同一父级,因此请尝试在循环时更新对新父级的引用:
TreeNode nextNode = rootNode;
for (int i = 0; i < test1.Count; i++) {
newNodeParsed = new TreeNode(test1[i]);
nextNode.Nodes.Add(newNodeParsed);
nextNode = newNodeParsed;
}