gpt4 book ai didi

c# - 如何在 TreeView 中展开新添加的节点

转载 作者:行者123 更新时间:2023-11-30 15:56:27 28 4
gpt4 key购买 nike

我的表单中有一个 TreeView,我需要以编程方式在特定鼠标事件上添加一个新节点。然后我需要将树扩展到新添加的节点。我尝试在新添加的节点上调用函数 Expand() 但我不起作用。

这是我的代码片段:

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节点的方法。它确保树节点可见,根据需要伸展树(Splay Tree)节点并滚动 TreeView 控件。

例如:

var node = treeView1.Nodes[0].Nodes[0].Nodes.Add("something");
node.EnsureVisible();

关于c# - 如何在 TreeView 中展开新添加的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46766269/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com