如何将树视图的一个实例的节点添加到同一树视图的另一个实例

发布于 2024-11-08 15:00:15 字数 246 浏览 0 评论 0原文

如何将节点填充到 newtreeview1 (另一个 treeview1 的实例)中?添加到“newtreeview1”的节点应该在 Treeview1 的第一个实例中可用?

例如;如果treeview1包含

   |-- Node1
        |-- Node2
           | -- Node3
        |-- Node4

newtreeview1也应该有上述节点。

How to populate the nodes into the newtreeview1 which is the instance of the another treeview1 ? The nodes which is added to the "newtreeview1" should be available in the first instance of the treeview1?

for example; if the treeview1 contains

   |-- Node1
        |-- Node2
           | -- Node3
        |-- Node4

the newtreeview1 should also have the above nodes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

早茶月光 2024-11-15 15:00:15

您可以通过克隆每个节点来完成此操作
像这样

    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);

you can do this by cloning each node
like this

    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());
        }
    }

and call the function

CopyNodes(treeView1, treeView2);
薯片软お妹 2024-11-15 15:00:15

您需要复制节点。类似于:

otherTreeView.Nodes.Add(node.Text);

根据您想要的,您需要选择一个 Add 方法的重载,其中包括您要复制的所有数据(密钥、文本和/或图像)。只是不要直接添加节点,而是添加它们的组成部分。

You need to copy the nodes. Something like:

otherTreeView.Nodes.Add(node.Text);

Depending on what you want, you need to pick an overload of the Add method that includes all the data you want to copy (key, text, and/or images). Just don't add the nodes directly, but instead their constituent parts.

猫瑾少女 2024-11-15 15:00:15

您可以尝试下面链接中给出的方法并序列化您的树内容。然后根据序列化的内容构造一个新的树视图。我知道这是一种冗长的方法,但这可以保证将所有层次结构数据正确添加到第二个树视图中。

从树视图中保存节点

You could try the approach given in this below link and serialize your tree contents. Then construct a new treeview based on the serialized contents. A big of a long-winded approach I know but this is guaranteed to add all the hierarchial data properly into the second treeview.

Save nodes from a treeview

爱格式化 2024-11-15 15:00:15

您只需复制 TreeView1 实例并添加其他节点即可。
与下图相同

TreeView2 = TreeView1;
TreeView2.Nodes.Add(new TreeNode());

You can just copy the TreeView1 instance and add additional nodes.
Same thing as shown below

TreeView2 = TreeView1;
TreeView2.Nodes.Add(new TreeNode());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文