Как добавить редактируемый первый дочерний узел в winforms - PullRequest
3 голосов
/ 05 января 2012

У меня есть древовидная структура, которая представляет файловую систему, у меня есть кнопка Новая папка, она работает нормально, если у выбранного узла есть несколько дочерних узлов, однако, когда у выбранного узла нет дочерних узлов, он не может добавить редактируемый дочерний узел. , Я использую следующий код:

tree.LabelEdit = true;
TreeNode node = new TreeNode("New Folder");
if(tree.SelectedNode.Nodes.Count>0)
   tree.SelectedNode.Expand();

tree.SelectedNode.Nodes.Add(node);

if(tree.SelectedNode.Nodes.Count>0)
   tree.SelectedNode.Expand();
node.BeginEdit();

Есть идеи, что происходит не так?

1 Ответ

2 голосов
/ 05 января 2012

Просто измените две строки в вашем коде так:

public Form1()
{
   InitializeComponent();
   tree.SelectedNode = tree.Nodes.Add("Hello", "Hello");
}

private void button1_Click(object sender, EventArgs e)
{
    tree.LabelEdit = true;
    TreeNode node = new TreeNode("New Folder");
    tree.SelectedNode.Nodes.Add(node);
    tree.SelectedNode.Expand();
    node.BeginEdit();
}

Объяснение: Невозможно развернуть узел, у которого нет дочерних узлов. Таким образом, вы должны добавить узел до того, как разверните родительский узел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...