c#用另一个代替一个TreeView

本文关键字:一个 TreeView 另一个 | 更新日期: 2023-09-27 18:09:31

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

TreeView originalTreeView = new TreeView();   
originalTreeView = treeView1;

然后执行搜索,这可能会删除一些treenode。

treeView1.searchTree(keyword);

然后,当我单击Reset按钮时,我希望treeView1再次显示完整的原始treeview,这是我不知道如何做的。

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

此代码不执行任何操作(侦听器正常)。有可能这样做吗,还是我每次都要重新填充树?

c#用另一个代替一个TreeView

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

复制所有treeView父视图和子视图到另一个treeView c# WinForms