C#用另一个树视图替换一个树视图

C#用另一个树视图替换一个树视图,c#,winforms,treeview,C#,Winforms,Treeview,我正在构建一个可搜索的树视图(treeView1),它将删除不包含搜索关键字的任何树节点。但是,我想通过单击按钮将树重置回其原始结构。在执行搜索之前,我将原始treeview存储在一个变量中 TreeView originalTreeView = new TreeView(); originalTreeView = treeView1; 然后我执行搜索,这可能会删除一些树节点 treeView1.searchTree(keyword); 然后,当我单击“重置”按钮时,我希望treeVi

我正在构建一个可搜索的树视图(
treeView1
),它将删除不包含搜索关键字的任何树节点。但是,我想通过单击按钮将树重置回其原始结构。在执行搜索之前,我将原始treeview存储在一个变量中

TreeView originalTreeView = new TreeView();   
originalTreeView = treeView1;
然后我执行搜索,这可能会删除一些树节点

treeView1.searchTree(keyword);
然后,当我单击“重置”按钮时,我希望treeView1再次显示完整的originalTreeView,这是我无法理解的

private void resetBtn_Click(object sender, EventArgs e) {
     treeView1 = originalTreeView;
}

此代码不执行任何操作(侦听器正常)。是否可以执行类似操作,或者每次都必须重新填充树?

您的代码仅将引用分配给
originalTreeView
,而不将其复制/克隆为新对象(备份)


请尝试此操作

您需要从现有节点创建新的TreeView和新节点。可以为此编写一个方法。你能解释一下这里的
关键字是什么吗?您在搜索时使用的标准是什么?