微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb之窗体关闭事件

QueryUnload 事件

一个窗体或应用程序关闭之前发生。当一个MDIForm对象关闭时,QueryUnload 事件先在MDI 窗体发生,然后在所有MDI 子窗体中发生。如果没有窗体取消 QueryUnload 事件,该 Unload 事件首先发生在所有其它窗体中,然后再发生在 MDI 窗体中。当一个子窗体或一个Form对象关闭时,在那个窗体中的 QueryUnload 事件先于该窗体的 Unload 事件发生。

格式:Private Sub Form_QueryUnload(Cancel As Integer,UnloadMode As Integer)

Cancel 一个整数。将此参数设定为除 0 以外的任何值,可在所有已装载的窗体中停止 QueryUnload 事件,并阻止该窗体和应用程序的关闭

UnloadMode一个值或一个常数,如返回值中所描述的,它指示引起 QueryUnload 事件的原因。

UnloadMode参数返回下列值:


以下是简单的应用

Unload事件

当窗体从屏幕上删除时发生。当那个窗体被重新加载时,它的所有控件的内容均被重新初始化。当使用在 Control 菜单中的 Close 命令或Unload语句关闭该窗体时,此事件被触发

格式:Private Sub Form_Unload(Cancel As Integer)

Cancel 一个整数,用来确定窗体是否从屏幕删除。如果cancel为 0,则窗体被删除。将cancel设置为任何一个非零的值可防止窗体被删除

QueryUnload与Unload的异同

1、QueryUnload发生在Unload之前

2、QueryUnload和Unload都可以阻止窗体卸载

3、QueryUnload可以检测窗体的卸载方式(比如是点击窗体右上角的X卸载,还是在软件代码中用UnloadMe命令卸载),Unload则无此功能

4、当程序有多个窗体且包含MDI窗体时,关闭MDI窗体时,则MDI窗体和其在主窗体内显示的子窗体(并不是说全部的子窗体)的QueryUnload都会被触发(换句话说就是即使不是本窗体关闭QueryUnload事件也会触发的),而Unload事件则只发生在卸载的窗体中。

原文地址:https://www.jb51.cc/vb/257688.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐