删除相关控件

时间:2012-07-18 19:12:31

标签: c# winforms treeview controls tabcontrol

TreeView上有一个WinForm控件,它代表一组层次结构化的对象。每个对象都有一些类的对象集。有DataGridView,表示与所选TreeView节点关联的对象。双击DataRow DataGridView TabControl1 TabPage添加新DataGridView DataRow代表详细值(某些类对象的集合)与所选DataRow关联的对象。双击TabControl1 TabControl2TabPage DataGridView添加新DataRow TreeView,其中TreeNode代表对象的详细值(某些类的对象集合)与doubleclicked TreeView相关联。然后我们可以通过TreeNode导航并查看详细信息并通过双击DataRows创建新的TabPages。现在,当我从{{1}}中删除{{1}}时,我需要删除与{{1}}相关联的所有TabPages(使用DataGridViews)。

是否存在关联控件的集中创建和删除链的设计模式?

form model

1 个答案:

答案 0 :(得分:1)

如果DataGridView1,TabControl1和TablControl2总是出现在表单中(而不是在Panels中设置单独的UserControl),则在TreeView的BeforeSelect事件中添加一个方法。在这种情况下,调用方法清除其他控件的每个数据。如果你去了UserControls路线,最好使用ClearData方法创建一个接口来逐步调低每个控件。

在每个方法中,检查DataGridView或Tabs是否存在(因为用户可能还没有使用TabControl2等),并从父控件中删除它们。

这不是一种模式,但它应该成功。如果您需要更多详细信息,或者我遗漏了某些内容,那么就不会那么抽象。

我认为没有一种模式可以集中加载所有内容,因为每一步都取决于用户输入。