怎么将一个TreeView上的数据复制到另一个TreeView上

cleverzhangxu 2009-11-19 07:38:28
我有一个TreeView控件,里面已经有数据了,另外还有一个TreeView控件,是空的。
我想把第一个控件的所有节点数据复制到另一个控件上。
我试过了,直接对2个控件相互赋值不行。
有没有什么系统提供的现成的方法,不用循环遍历那招。
...全文
486 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forrest23 2009-11-19
  • 打赏
  • 举报
回复
4楼的方法很好,顶
huoyingyangjie 2009-11-19
  • 打赏
  • 举报
回复
忘了,先创建TresView1的副本,这样TreeView1就不会变了
huoyingyangjie 2009-11-19
  • 打赏
  • 举报
回复
方法很简单,C#是面向对象的,既然这样一切就好说,方法应用啊,比如:
object a;
b是你你那个Treeview1;
a=b;就行了;
bancxc 2009-11-19
  • 打赏
  • 举报
回复
不用循环遍历那招[Quote=引用 6 楼 benzite 的回复:]
用递归遍历那招
[/Quote]
benzite 2009-11-19
  • 打赏
  • 举报
回复
用递归遍历那招
zhangguofang1129 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 noway8881 的回复:]
可以考虑实现TreeNode的自定义Clone
然后就可以只加第一个TreeView的第一层。
[/Quote]

帮顶
满衣兄 2009-11-19
  • 打赏
  • 举报
回复 1
using System.Windows.Forms;

namespace TestTreeView
{
public partial class Form2 : Form
{
public Form2(TreeView tv)
{
InitializeComponent();
this.treeView1.Nodes.Clear();
foreach (TreeNode node in tv.Nodes)
{
TreeNode newNode = node.Clone() as TreeNode;
this.treeView1.Nodes.Add(newNode);
}
}
}
}
noway8881 2009-11-19
  • 打赏
  • 举报
回复
可以考虑实现TreeNode的自定义Clone
然后就可以只加第一个TreeView的第一层。
wangbinykit 2009-11-19
  • 打赏
  • 举报
回复
应该是只能循环遍历吧

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧