Treeview удалить проблему со свойством - PullRequest
0 голосов
/ 10 января 2011

Я добавил 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 ]

1 голос
/ 10 января 2011

Возможно, проблема в том, что вы удаляете узлы по индексу в массиве узлов, а не по их положению в дереве.

Попробуйте заменить:

this.SampleNode.Nodes[j].Remove();

на:

this.SampleNode.Nodes.Remove(nodes[0]); 
0 голосов
/ 10 января 2011

Код для добавления некоторых узлов.

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