我的表單中有一個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)。 –