Как проверить, есть ли у корневого узла дерева просмотра дочерние узлы - PullRequest
4 голосов
/ 23 сентября 2010

У меня есть древовидная структура с корневым узлом изначально как Root.Если я щелкну правой кнопкой мыши по корневому узлу, у меня будет отображено контекстное меню с некоторыми опциями, такими как Новый, и другим, если я выберу Новый, я добавлю дочерний узел к корневому узлу.Если я снова щелкну правой кнопкой мыши по корневому узлу и если у корневого узла есть дочерние узлы, я хотел бы очистить все дочерние узлы и добавить новый дочерний узел, как я могу это сделать

Ответы [ 5 ]

6 голосов
/ 23 сентября 2010

TreeNode.Nodes дает вам список всех дочерних узлов для узла, на который вы смотрите.

Затем вы можете вызвать Очистить в этой коллекции, чтобыудалить все дочерние узлы.

1 голос
/ 23 сентября 2010

В конце концов окончательный ответ выглядит следующим образом

    if (tvwACH.HitTest(location).Node.Nodes.Count > 0 && tvwACH.SelectedNode.Parent == null )
        {
            foreach (TreeNode node in tvwACH.Nodes)
            {
                node.Nodes.Clear();
            }
    }
0 голосов
/ 25 апреля 2013
                foreach (TreeNode node in treeview.Nodes)
                     {

                        if (node.ChildNodes.Count != 0)
                        {

                           //Node exists

                        }
                        else
                        {

                          //Node doesn't exists

                        }
                    }
0 голосов
/ 23 сентября 2010

Вы можете проверить свойство TreeNode.Nodes. Если число больше нуля, то у вас есть дочерние узлы, в противном случае не

0 голосов
/ 23 сентября 2010

В обработчике 'right click', если вы используете Click мыши, вы можете использовать аргументы событий TreeNodeMouseClickEventArgs для получения текущего узла ...

void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
      if (e.Button == MouseButtons.Right)
      {
        TreeNode selectedNode = e.Node;
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...