【发布时间】:2012-04-25 23:38:32
【问题描述】:
我有一个带有子表单的 MDI 表单,我想将它重构为一个带有包含子控件的选项卡控件的单个表单,以便摆脱 MDI clunkiness。
在考虑将子窗体转换为子控件(或用户控件)时,我确实看到我会丢失某些子窗体使用的 FormClosing 事件。
我可以覆盖Dispose 来处理一些功能,但在某些情况下我想取消关闭事件。另外,我希望在控件关闭之前调用此事件,即使它所在的窗体没有关闭,因此不能将控件连接到窗体的关闭事件。
是否有一种干净的方法可以在控件类中重现FormClosing 事件,或者当我将子表单添加到选项卡控件时,我应该将它们保留为表单吗?
编辑:为了更清楚一点,我正在寻找一种方法在用户控件关闭之前在用户控件上引发类似 ControlClosing 的内容(不一定是在主机表单关闭时)为了提示用户是否希望保存对其数据的更改,并允许用户选择标准是/否/取消。
我不希望覆盖承载控件的表单的关闭。
【问题讨论】:
-
最终还是使用 MDI 表单并使用 Infragistics TabbedMDIManager 控件来提供漂亮的选项卡式界面,但如果我决定使用子控件手动创建选项卡式界面,Nick 的回答是我会采用的方式。
标签: .net vb.net winforms controls