Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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# 编辑后获取treenode文本_C#_Winforms_Treeview - Fatal编程技术网

C# 编辑后获取treenode文本

C# 编辑后获取treenode文本,c#,winforms,treeview,C#,Winforms,Treeview,我有一个树视图,允许用户创建新的树节点。当他们创建树节点时,我会自动进入编辑模式。我试图做的是在“AfterLabelEdit”中编辑完成后保存给树节点的名称 我发现,在这个方法中检查标签会返回原始标签,因为在方法完成之前,它似乎不会提交到树中 进行编辑后,如何获取新标签?有没有办法在这个方法中强制提交更改 希望这有意义 在AfterLabelEvent事件完成之前,实际节点文本不会更改。事件将传递e.label属性中的新标签文本。这就是你想要的 处理棘手的TreeView事件的标准技巧是将操作

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

我发现,在这个方法中检查标签会返回原始标签,因为在方法完成之前,它似乎不会提交到树中

进行编辑后,如何获取新标签?有没有办法在这个方法中强制提交更改


希望这有意义

在AfterLabelEvent事件完成之前,实际节点文本不会更改。事件将传递e.label属性中的新标签文本。这就是你想要的

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


使用System.Windows.Forms.NodeLabelEditEventArgs中的e.标签e

private void treeView1_AfterLabelEdit(object sender, System.Windows.Forms.NodeLabelEditEventArgs e)
{
    if (e.Label != null)
    {
     ........
    }
}

完美-正是我想让我虚弱的脑袋恢复过来的。干杯,太棒了,简单又漂亮。
private void treeView1_AfterLabelEdit(object sender, System.Windows.Forms.NodeLabelEditEventArgs e)
{
    if (e.Label != null)
    {
     ........
    }
}