如何将树视图的一个实例的节点添加到同一树视图的另一个实例
本文关键字:实例 视图 节点 添加 另一个 一个 | 更新日期: 2023-09-27 17:56:57
如何将节点填充到newtreeview1中,这是另一个treeview1的实例?添加到"newtreeview1"的节点应该在treeview1的第一个实例中可用吗?
例如;如果 treeview1 包含
|-- Node1
|-- Node2
| -- Node3
|-- Node4
NewtreeView1 也应该具有上述节点。
您可以通过克隆每个节点来执行此操作喜欢这个
private void CopyNodes(TreeView srcTree, TreeView dstTree)
{
var ar = System.Array.CreateInstance(typeof(TreeNode), srcTree.Nodes.Count);
treeView1.Nodes.CopyTo(ar, 0);
foreach (TreeNode item in ar)
{
dstTree.Nodes.Add((TreeNode)item.Clone());
}
}
并调用函数
CopyNodes(treeView1, treeView2);
您需要复制节点。像这样:
otherTreeView.Nodes.Add(node.Text);
根据所需的内容,需要选取包含要复制的所有数据(键、文本和/或图像)的 Add 方法重载。只是不要直接添加节点,而是添加它们的组成部分。
您可以尝试以下链接中给出的方法并序列化树内容。然后基于序列化内容构造新的树视图。我知道这是一个很长的方法,但这保证将所有分层数据正确添加到第二个树视图中。
从树视图保存节点
只需复制 TreeView1 实例并添加其他节点即可。与下面显示的相同内容
TreeView2 = TreeView1;
TreeView2.Nodes.Add(new TreeNode());