又是选取啊,我不能通过选取来创建啊.如果通过选取创建.我也需要指定选取啊!
追答string name="节点名";
foreach(TreeNode node in TreeView1.Nodes)
{
if(node.Name==name)
node.Nodes.Add(new TreeNode("新节点"));
}
只能通过遍历来找到某个Name的节点。
为啥我这遍历出问题了啊.我在前面添加了父节点.此时有根节点和父节点两个节点,然后紧接着就开始用遍历,调试发现循环的时候node循环2次值都是根节点的值啊,怎么没跳到父节点去啊.
追答哦。。我写的代码只遍历了父节点,没有遍历所有节点....
需要用递归了。
主函数里:
foreach(TreeNode node in TreeView1.Nodes)
{
if(node.Name==name)
node.Nodes.Add(new TreeNode("新节点"));
addNode(node);
}
然后下面的函数:
void addNode(TreeNode node)
{
foreach(TreeNode n in node.Nodes)
{
if(n.Name==name)
n.Nodes.Add(new TreeNode("新节点"));
addNode(n);
}
}