private void WalkerRefreshNode(bool refreshAllNodes)
{
TreeNode selectedNode = tree.SelectedNode;
TreeNode bufferedNode = (TreeNode)selectedNode.Clone();
if (SelectedNode.Tag != null)
{
DataRow tag = (DataRow)selectedNode.Tag;
if (tag.Table.TableName == "example")
{
if ((selectedNode.Nodes.Count == 0) || refreshAllNodes)
{
selectedNode.Text += emptyNodeTempText;
this.ActionWalk((uint)tag["task0"], bufferedNode, 5);
selectedNode = bufferedNode; // -- doesn't work.
...
}
...
}
...
}
...
}
^вот код, который я пытаюсь получить. Я хочу, чтобы полностью заменить выбранный узел на пользовательский узел. Однако он не реагирует на мое назначение, и узел остается неизменным. может кто-нибудь помочь мне преодолеть эту проблему?Невозможно назначить TreeNode Treeview.SelectedNode
Насколько я знаю, selectedNode является ссылкой на tree.SelectedNode, и когда я попытался установить что-то в selectedNode, он применяется к tree.SelectedNode. BeginUpdate() и EndUpdate() решили проблему, однако она заблокировала способность работать с остальными узлами, которые не обновляются. – 2009-07-20 08:52:19
selectedNode - это (локальная) копия дерева.Ссылка SelectedNode. Изменение этого ничего не делает в Дереве. –