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 № 1Apenas 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.