Как программно переименовать текст дочернего узла в виде дерева - PullRequest
0 голосов
/ 17 октября 2011

Привет всем, у меня есть tree view, как следует

   Root
    ->Child1
    ->Child2
    ->Child3
    ->Child4

Теперь, если я удаляю дочерний узел, скажем Child1, тогда я бы хотел получить tree view следующим образом

   Root
    ->Child1
    ->Child2
    ->Child3

Любая идея, пожалуйста ...

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Если вам нужно переименовать оставшиеся дочерние узлы после удаления узла, я бы добавил метод RenameNodes, который принимает родительский узел, из которого был удален дочерний узел;Вы вызовете этот метод сразу после удаления дочернего узла.

// rename all child nodes within parent to "ChildX"
private void RenameNodes(TreeNode parent)
{
    for(int i = 0; i < parent.Nodes.Count; i++)
    {
        parent.Nodes[i].Text = "Child" + (i + 1).ToString();
    }
}
1 голос
/ 17 октября 2011

Попробуйте,

 if(Treeview1.SelectedNode.Parent!=null)
    {
    Treeview1.SelectedNode.Text="New value";
    }

EDIT:

 void Replace(TreeNode node,string text)
      {
         node.Text = text;
         for (int i = 0; i < node.Nodes.Count; i++)
          {
             Replace(node.Nodes[i],text);
          }
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...