TreeView
上有一个WinForm
控件,它代表一组层次结构化的对象。每个对象都有一些类的对象集。有DataGridView
,表示与所选TreeView
节点关联的对象。双击DataRow
DataGridView
TabControl1
TabPage
添加新DataGridView
DataRow
代表详细值(某些类对象的集合)与所选DataRow
关联的对象。双击TabControl1
TabControl2
中TabPage
DataGridView
添加新DataRow
TreeView
,其中TreeNode
代表对象的详细值(某些类的对象集合)与doubleclicked TreeView
相关联。然后我们可以通过TreeNode
导航并查看详细信息并通过双击DataRows创建新的TabPages。现在,当我从{{1}}中删除{{1}}时,我需要删除与{{1}}相关联的所有TabPages(使用DataGridViews)。
是否存在关联控件的集中创建和删除链的设计模式?
答案 0 :(得分:1)
如果DataGridView1,TabControl1和TablControl2总是出现在表单中(而不是在Panels中设置单独的UserControl),则在TreeView的BeforeSelect事件中添加一个方法。在这种情况下,调用方法清除其他控件的每个数据。如果你去了UserControls路线,最好使用ClearData方法创建一个接口来逐步调低每个控件。
在每个方法中,检查DataGridView或Tabs是否存在(因为用户可能还没有使用TabControl2等),并从父控件中删除它们。
这不是一种模式,但它应该成功。如果您需要更多详细信息,或者我遗漏了某些内容,那么就不会那么抽象。
我认为没有一种模式可以集中加载所有内容,因为每一步都取决于用户输入。