0

有一个TreeView控件,WinForm它表示一组层次结构的对象。每个对象都有一些类的对象集。有DataGridView,表示与选定TreeView节点关联的对象。通过双击添加新DataRowDataGridView,其中表示与选定对象关联的对象的详细值(某个类的对象的集合)。通过双击添加新的in ,其中表示与双击关联的对象的详细值(某个类的对象的集合)。然后我们可以通过TabControl1TabPageDataGridViewDataRowDataRowTabControl1TabControl2TabPageDataGridViewDataRowTreeView并通过双击 DataRows 查看详细信息并创建新的 TabPages。现在,当我删除TreeNodefrom时TreeView,我需要删除与它关联的所有 TabPages(带有 DataGridViews)TreeNode

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

表格模型

4

1 回答 1

1

如果 DataGridView1、TabControl1 和 TablControl2 将始终出现在表单中(而不是在面板中设置单独的 UserControl),则将方法添加到 TreeView 的 BeforeSelect 事件中。在这种情况下,调用方法来清除每个其他控件的数据。如果您确实选择了 UserControls 路线,最好使用 ClearData 方法创建一个接口来逐步执行每个控件。

在这些方法中的每一个中,检查是否存在 DataGridView 或选项卡(因为用户可能还没有进入 TabControl2 等),并将它们从父控件中删除。

这不是一种模式,但它应该可以解决问题。如果您需要更多细节,或者我遗漏了一些东西,那么不要那么抽象会有所帮助。

我认为不会有集中加载所有内容的模式,因为每个步骤都取决于用户输入。

于 2012-07-18T19:22:41.097 回答