Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在winforms中添加可编辑的第一个子节点_C#_Treeview - Fatal编程技术网

C# 如何在winforms中添加可编辑的第一个子节点

C# 如何在winforms中添加可编辑的第一个子节点,c#,treeview,C#,Treeview,我有一个表示文件系统的树状视图,我有一个新的文件夹按钮,如果所选节点有一些子节点,它可以正常工作,但是当所选节点没有任何子节点时,它无法添加可编辑的子节点。我正在使用以下代码: tree.LabelEdit = true; TreeNode node = new TreeNode("New Folder"); if(tree.SelectedNode.Nodes.Count>0) tree.SelectedNode.Expand(); tree.SelectedNode.Nodes

我有一个表示文件系统的树状视图,我有一个新的文件夹按钮,如果所选节点有一些子节点,它可以正常工作,但是当所选节点没有任何子节点时,它无法添加可编辑的子节点。我正在使用以下代码:

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

有什么想法吗?

只需将代码中的两行更改为:

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

说明:不能展开没有子节点的节点。因此,在展开父节点之前,必须先添加节点。

@nithcaudhari:其他地方一定有错误。你订阅了treeview的一些活动吗?我已经测试了上面的代码,它是有效的!我有BeforeExpand和AfterLabelEdit,但它在Labeledit后不会中断,你能给我发电子邮件给我你的工作样本吗?@NitinChaudhari:我在回答中更改了样本代码。我有一个表单,上面有一个树状视图和一个按钮。我认为您必须在BeforeExpand代码中搜索问题。发布它,我看一看。你是对的,在Expand清除所有节点之前,现在如果我没有任何子目录,我不会清除它。现在开始工作了。谢谢:)