TreeNode BeginEdit()不保存任何文本

时间:2016-08-17 12:56:18

标签: c# winforms treeview

我在主窗体中添加了一个树视图,右键单击打开一个上下文菜单,您可以在其中向树中添加新节点(在本例中为类别)。

创建,然后添加节点并调用BeginEdit()...

    private void addCategoryToolStripMenuItem_Click(object sender, System.EventArgs e)
    {
        var category = new TreeNode();

        tvCategories.Nodes.Add(category);
        category.BeginEdit();
    }

...然后这个:

根据我收集的信息,这应该可以正常工作,无论如何:

enter image description here 有任何想法吗? :)

只是一种扩展:问题不在于BeginEdit(),我根本无法编辑标签。我仍然不知道为什么,但现在我知道我需要去别的地方看看。

2 个答案:

答案 0 :(得分:1)

您的初始节点不能为空,请填写某些类型的文字:

var category = new TreeNode("abc");

答案 1 :(得分:0)

虽然我还不完全确定原因,但即使LabelEdit属性为true,上面的代码也创建了一个无法编辑的节点。

然而,这似乎可以解决问题:

    private void addCategoryToolStripMenuItem_Click(object sender, System.EventArgs e)
    {
        tvCategories.Nodes.Add(new TreeNode("category"));
        tvCategories.Nodes[tvCategories.Nodes.Count - 1].BeginEdit();
    }

第一行创建并添加新节点,这里重要的是你提供一个初始字符串,即使用户必须更改它。为什么?不确定。但是将字符串部分留空会导致上述问题。

第二行只选择最后一个节点。