我的表单中有一个TreeView
,我需要以编程方式在particolar鼠标事件上添加一个新节点。然后我需要将树扩展到新添加的节点。我尝试在新添加的节点上调用功能Expand()
,但我不起作用。如何在TreeView中扩展新增节点
这是我的代码片段:
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();
}
}
什么建议吗?谢谢。
你并不需要手动展开所有的父母,而不是你可以调用['EnsureVisible'](https://msdn.microsoft.com/en-us/library/system.windows.forms.treenode .ensurevisible(v = vs.110).aspx)节点的方法。它确保树节点可见,展开树节点并根据需要滚动树视图控件,如[this](https://stackoverflow.com/a/46768089/3110834)。 –