我有一个像这样的节点树状图:“Foo(1234)”,并希望允许用户重命名节点,但只有Foo部分,没有(1234)。我第一次尝试更改节点文本BeforeLabelEdit
这样的:TreeView标签编辑问题
private void treeView1_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
{
e.Node.Text = "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”,但不显示编辑文本框。
任何想法? 谢谢
感谢您的回答,我会尽力使用自定义绘画。 当然我投你的建议:) – neo2862 2008-10-08 09:44:38