Как удалить два TreeNode одновременно - PullRequest
1 голос
/ 22 сентября 2011

У меня есть TreeView, и я хочу удалить 2 его узла одновременно.

node.Remove();

Это удалит узел, но после этого кода будет автоматически выбран следующий узел. Есть ли способ предотвратить это? Или лучше для меня будет удалить следующий узел сразу после удаления его предыдущего узла.

Вы можете спросить, почему. В моей программе каждая пара узлов необходима для выполнения чего-либо. поэтому, если я удалю один из них, элемент управления TreeView перейдет к следующему члену этой пары, и, поскольку последний элемент удален, все мои коды будут работать неправильно, поскольку он больше не сможет найти этот узел.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

С простым представлением дерева и простым контекстным меню это работает для меня

if (tvwACH.SelectedNode.Text == "Child")
{
  tvwACH.SelectedNode.NextNode.Remove();
  tvwACH.SelectedNode.Remove();
}
1 голос
/ 22 сентября 2011

Хорошо, мне повезло ... Тексты моих узлов заканчиваются на "_1" и "_2" для каждой пары узлов, поэтому я пришел к следующему решению:

            if (fileText.EndsWith("_1"))
            {
                selectedFile.NextNode.Remove();
                selectedFile.Remove();
            }
            else
            {
                selectedFile.PrevNode.Remove();
                selectedFile.Remove();
            }
...