中易网

C#里treeview如何向指定NAME节点添加子节点

答案:2  悬赏:30  
解决时间 2021-01-17 07:47
  • 提问者网友:蔚蓝的太阳
  • 2021-01-16 10:44
C#里treeview如何向指定NAME节点添加子节点
最佳答案
  • 二级知识专家网友:掌灯师
  • 2021-01-16 12:19
新建节点
TreeNode treeNode=new TreeNode();
treeNode.Text=“test";
treeNode.Value="test";
添加节点
TreeView1.Nodes[i].ChildNodes[j].ChildNodes.Add(treeNode);
其中i,j分别代表 根节点和根节点下面的子节点
如果还想继续增加 那么 可以加k,l,M。。。等等
全部回答
  • 1楼网友:佘樂
  • 2021-01-16 13:08
TreeNode node=treeView1.SelectedNode;//或者其他节点
node.Nodes.Add(new TreeNode("新节点"));
追问:又是选取啊,我不能通过选取来创建啊.如果通过选取创建.我也需要指定选取啊!
追答: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);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息