【发布时间】:2013-12-17 08:52:41
【问题描述】:
在 MDI 应用程序中,有一个打开的模态表单 A。表单 B 显示为表单 A 的模态。 如何在调用模态表单 B 后关闭模态表单 A?
【问题讨论】:
-
你可以尝试调用FormA.Hide;它会隐藏表单但不会关闭,就好像 FormB 是 FormA 的子级一样,我认为您无法关闭父级。
-
也许在这里使用向导比使用孤立但连续的模态形式更好?
-
你不能 - 模态表单的全部意义在于用户有义务在继续之前完成它(即提供 ModalResult)。如果您发现您必须使用一些技巧来使其行为有所不同,那么我建议您需要重新审视您的设计。
-
@Hugh:问题通常不是用户是否完成了第一个模态表单,而是第一个表单中的逻辑需要控制接下来按顺序显示哪个模态表单。虽然有很多方法可以控制这一点,但通常在定义应用程序结构之后,需求就会出现,并且没有能力重新审视结构决策……直到下一个主要版本,等等。
-
@Mark - 当然。我在 OP 的另一个背景下回答这个问题,我认为这表明我们正处于设计的早期阶段。