我有一個像這樣的節點樹狀圖:「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