Treeview删除属性问题

时间:2011-01-10 05:41:29

标签: c# .net winforms treeview treeviewitem

我在树视图中添加了一个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中删除。 为什么会这样?

解决方案是什么?

2 个答案:

答案 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]);
  }