J'ai un TreeView
dans mon formulaire, j'ai besoin d'ajouter par programme un nouveau nœud sur l'événement souris particolar. Ensuite, j'ai besoin d'étendre l'arbre juste au nouveau noeud ajouté. J'essaye d'appeler la fonction Expand()
sur le nouveau noeud ajouté mais je ne fonctionne pas.Comment développer un nouveau nœud ajouté dans TreeView
C'est un extrait de mon code:
TreeNodeCollection tree = treeViewProtocolli.Nodes["Radice"].Nodes["ModBus"].Nodes;
if (tree != null)
{
TreeNode node = new TreeNode();
node.Text = "MBRTU";
node.Name = "MBRTU";
node.Tag = "BASE";
node.ForeColor = System.Drawing.Color.Red;
tree.Add(node);
TreeNode skBase = treeViewProtocolli.Nodes["Radice"].Nodes["ModBus"].Nodes["MBRTU"];
if(skBase != null)
{
TreeNode sknode = new TreeNode();
sknode.Text = nome + " -> [Slave = " + slave + " | Indirizzo = " + indirizzo +
" | Funzione = " + funzione + " | Abilitato = " + abil + " | Lunghezza blocco = " + lunghezza + "]";
sknode.Name = "MBRTU";
skBase.Nodes.Add(sknode);
sknode.Expand();
}
}
Toute suggestion? Merci.
Vous n'avez pas besoin de développer tous les parents manuellement, au lieu que vous pouvez appeler [ 'EnsureVisible'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.treenode .ensurevisible (v = vs.110) .aspx) méthode du noeud. Il s'assure que le nœud de l'arbre est visible, en développant les nœuds de l'arborescence et en faisant défiler le contrôle de l'arborescence selon les besoins comme [this] (https://stackoverflow.com/a/46768089/3110834). –