Treeview удалить проблему со свойством
Я добавил 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 ответа
Решение
Код для добавления некоторых узлов.
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]);
}
Проблема может заключаться в том, что вы удаляете узлы по индексу в массиве узлов, а не по их положению в дереве.
Попробуйте заменить:
this.SampleNode.Nodes[j].Remove();
С:
this.SampleNode.Nodes.Remove(nodes[0]);