如何将节点填充到newtreeview1中,这是另一个treeview1的实例?添加到“newtreeview1”的节点应该在treeview1的第一个实例中可用吗?
例如;如果treeview1包含
|-- Node1
|-- Node2
| -- Node3
|-- Node4
newtreeview1也应该有上述节点。
答案 0 :(得分:1)
您可以通过克隆每个节点来完成此操作 像这样
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);
答案 1 :(得分:0)
您需要复制节点。类似的东西:
otherTreeView.Nodes.Add(node.Text);
根据您的需要,您需要选择一个overload of the Add method,其中包含您要复制的所有数据(关键字,文字和/或图像)。只是不要直接添加节点,而是添加它们的组成部分。
答案 2 :(得分:0)
您可以尝试以下链接中给出的方法并序列化您的树内容。然后根据序列化内容构造一个新的树视图。我知道这是一个很长的方法,但是可以保证将所有层次结构数据正确地添加到第二个树视图中。
答案 3 :(得分:0)
您只需复制TreeView1实例并添加其他节点即可。 同样的事情如下所示
TreeView2 = TreeView1;
TreeView2.Nodes.Add(new TreeNode());