При необходимости вам придется включать и выключать свойство LabelEdit:
private void startLabelEdit() {
treeView1.LabelEdit = true;
treeView1.SelectedNode.BeginEdit();
}
private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) {
treeView1.LabelEdit = false;
}
Обратите внимание, что это имеет побочные эффекты, свойство LabelEdit является флагом стиля для собственного элемента управления Windows.Чтобы изменить его, нужно полностью разрушить окно и заново создать его с нуля.Наиболее заметным побочным эффектом является небольшое мерцание, когда окно перерисовывается после создания.Могут быть и другие, я сам не видел, чтобы что-то пошло не так.