设计一个winform应用程序/避免模态模型

本文关键字:应用程序 模型 模态 winform 一个 | 更新日期: 2023-09-27 18:05:57

我必须维护一个winform应用程序。

它由一系列的模态窗口组成。(例如:在某些屏幕上,我可以有5个模态屏幕,这有很多问题)。

我想从模态窗口迁移到另一个模型,但我不想使用MDI样式(它将花费太长时间)。

我的感觉是创建一个类(所有的形式将从这个形式继承)。在构造函数中,我们将在参数中提供父窗体,它将处理,隐藏/显示。这个基本结构应该可以工作,但是我必须处理表单的关闭事件。

谁有办法?

设计一个winform应用程序/避免模态模型

子窗体和父窗体的大小是否相同?如果是这样,比起隐藏/显示表单,我会考虑在彼此的顶部放置几个面板,并使用BringToFront来显示当前的面板。对我来说,这似乎比摆弄魔法窗口更干净,更少痛苦……

如果你使用魔术窗口,你要记得使用'显示在任务栏'属性。

(自动打开和关闭不同大小的窗口对用户来说也很烦人)

对于这种类型的UI,我们想到的另一个范例是向导,它引导您从一个表单到下一个表单,或者是一个UI,其中每个当前模态表单都显示为单个UI的可扩展区域。

在某个地方保存所有指定为子窗体的引用怎么样?每当父窗口开始关闭时,请先关闭子窗口。