c# – 编辑后获取treenode文本

我有一个树视图,我允许用户创建新的树节点.当他们创建树节点时,我会自动进入编辑模式.我想要做的是在“AfterLabelEdit”编辑完成后保存给予树节点的名称.

我发现检查此方法中的标签会返回原始标签,因为它在方法完成之前似乎没有提交给树.

如何在编辑完成后获取新标签?有没有办法强制更改在此方法中提交?

希望有道理!

解决方法:

直到AfterLabelEvent事件完成后,实际节点文本才会更改.该事件传递e.Label属性中的新标签文本.这就是你想要的那个.

处理balky TreeView事件的标准技巧是延迟操作直到事件完成.使用Control.BeginInvoke()方法优雅地完成:

    private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) {
        this.BeginInvoke(new Action(() => afterAfterEdit(e.Node)));
    }
    private void afterAfterEdit(TreeNode node) {
        string txt = node.Text;   // Now it is updated
        // etc..
    }
上一篇:c# – 在WPF中更改BitMapImage的尺寸,以及可以在元素中放入哪种对象?


下一篇:[转]asp.net2.0实现treeview无限级菜单树