我有一个软件设计问题。假设我有一个包含一些元素的 Windows 窗体,并且我有一个客户对象。例如,客户可以是企业、私人或公司。
现在,表格中将要发生的所有决定都将取决于客户类型。例如,某些元素将被隐藏,某些标签文本会有所不同,等等......事件将有不同的响应。
显然,一种编码方式是在每次需要做出决定时使用 CASE 语句。另一种方法是从基类继承一个 Customer 类和 3 个其他类,例如 BusinessCustomer、PrivateCustomer 和 CorporateCustomer。在后者中,就会出现一个问题:您将如何将窗户合并到其中......
已编辑
我有一个想法:我可以在表单中嵌入表单吗?我的要求并没有规定同时显示两个窗口,所以我不必使用 MDI。但是为了根据这里的一些 ppl 评论简化我的设计,我想维护 3 个不同的客户表单,并动态嵌入到主表单中。这样,三个 GUI 是分开的,我不必处理每个控件的可见性。
我假设我可以将一个表单添加到另一个表单,例如:
Form child_form = new Form();
parent_form.Controls.Add(child_form);