У меня есть treeview с такими узлами: "Foo (1234)", и вы хотите разрешить пользователю переименовывать узлы, но только часть Foo, без (1234). Сначала я попытался изменить текст node в BeforeLabelEdit
следующим образом:
private void treeView1_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
{
e.Node.Text = "Foo";
}
Но когда я нажимаю на node для его редактирования, в текстовом поле появляется "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.
И угадайте, что? Это тоже не работает. Он изменяет текст node на "Foo", но текстовое поле редактирования не отображается.
Любые идеи? Благодаря