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.
...
}
...
}
...
}
...
}
^Voici le code que j'essaie de faire fonctionner. Je veux être en mesure de remplacer entièrement le nœud Sélectionné par un nœud personnalisé. Cependant, il ne réagit pas à mon affectation et le nœud reste inchangé. quelqu'un peut-il m'aider à surmonter ce problème?Impossible d'affecter TreeNode à Treeview.SelectedNode
autant que je sache, selectedNode fait référence à tree.SelectedNode, et quand j'ai essayé de mettre quelque chose à selectedNode, il s'est appliqué à tree.SelectedNode. BeginUpdate() et EndUpdate() ont résolu le problème, mais cela a bloqué la capacité de travailler avec le reste des nœuds qui ne sont pas mis à jour. –
selectedNode est une copie (locale) de l'arbre.Référence SelectedNode. Le changer ne fait rien dans l'arbre. –