当前位置:  开发笔记 > 编程语言 > 正文

TreeView标签编辑问题

如何解决《TreeView标签编辑问题》经验,为你挑选了1个好方法。

我有一个像这样的节点的树视图:"Foo(1234)",并希望允许用户重命名节点,但只允许Foo部分,没有(1234).我首先尝试更改节点文本,BeforeLabelEdit如下所示:

private void treeView1_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
{
    e.Node.Text = "Foo";
}

但是当我单击节点进行编辑时,文本框中会出现"Foo(1234)".

好的,那就让我们试试别的吧.

我设置treeView1.LabelEdit为false,然后执行以下操作:

private void treeView1_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        if (treeView1.SelectedNode == treeView1.GetNodeAt(e.Location))
        {
            treeView1.SelectedNode.Text = "Foo";
            treeView1.LabelEdit = true;
            treeView1.SelectedNode.BeginEdit();
        }
    }
}

然后AfterLabelEdit,我LabelEdit回到了假.

你猜怎么着?这也不起作用.它将节点文本更改为"Foo",但不显示编辑文本框.

有任何想法吗?谢谢



1> neo2862..:

最后,我在CodeProject上找到了解决方案.在底部的评论中,您还可以找到便携式解决方案.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有