我有一个带有如下节点的树视图:“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
回 false。
你猜怎么着?这也不起作用。它将节点文本更改为“Foo”,但不会出现编辑文本框。
有任何想法吗?谢谢