/ / Como adicionar primeiro nó filho editável em winforms - c #, treeview

Como adicionar primeiro nó filho editável em winforms - c #, treeview

Eu tenho um treeview que representa o sistema de arquivos, eutem um botão Nova pasta, Ele funciona bem se o nó selecionado tiver alguns nós filhos, no entanto, quando o nó selecionado não tiver nenhum nó filho, ele não poderá adicionar um nó filho editável. Estou usando o seguinte código:

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();

Alguma idéia sobre o que está errado?

Respostas:

2 para resposta № 1

Apenas mude duas linhas no seu código assim:

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();
}

Explicação: Você não pode expandir um nó que não tem nós filho. Então você tem que adicionar o nó antes você expande o nó pai.