我在树视图中添加了一个SampleNode。
如果我从SampleNode中删除任何节点,
等
TreeNode[] nodes = this.SampleNode.Nodes.Find(node.Text, true);
if (nodes.Length > 0)
{
int j = nodes[0].Index;
if (nodes.Length > 0)
this.SampleNode.Nodes[j].Remove();
}
它会在树视图中删除,但不会在SampleNode中删除。 为什么会这样?
解决方案是什么?
答案 0 :(得分:1)
问题可能是你要通过节点数组中的索引删除节点 - 而不是它们在树中的位置。
尝试更换:
this.SampleNode.Nodes[j].Remove();
使用:
this.SampleNode.Nodes.Remove(nodes[0]);
答案 1 :(得分:0)
添加一些节点的代码。
TreeNode root = new TreeNode("Root");
root.Nodes.Add("1", "Sampl1");
root.Nodes.Add("2", "Sampl2");
root.Nodes.Add("3", "Sampl3");
treeView1.Nodes.Add(root);
搜索和删除节点的代码,
TreeNode []nodes= treeView1.Nodes.Find("1", true);
if (nodes.Length != 0)
{
//nodes[0].Remove();
//or
treeView1.Nodes.Remove(nodes[0]);
}