首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

点击窗体关闭钮怎么弹出对话框

2012-02-08 
点击窗体关闭钮如何弹出对话框?下面是按Command1钮弹出的对话框,如何加一组代码,实现点击窗体的关闭钮也弹

点击窗体关闭钮如何弹出对话框?
下面是按Command1钮弹出的对话框,如何加一组代码,实现点击窗体的关闭钮也弹出同样的对话框?
Private   Sub   Command1_Click()
If   MsgBox( "你确实要退出吗? ",   vbYesNo   +   vbExclamation,   "系统询问 ")   =   vbYes   Then
      Unload   Me
      End
      Else
      Cancel   =   True
        End   If
End   Sub

[解决办法]
Private Sub Form_Unload(Cancel As Integer)
If MsgBox( "你确实要退出吗? ", vbYesNo + vbExclamation, "系统询问 ") = vbYes Then
Unload Me
End
Else
Cancel = True
End If
End Sub

[解决办法]
如有跳转窗体,只需要将Command1过程中的Private 改为Public即可,对所有窗体都适用。如
下:

Private Sub Form_Unload(Cancel As Integer)
Call Form1.Command1_Click
End Sub

在每一个窗体的Unload事件中都写上上面的代码即可。

Public Sub Command1_Click()
If MsgBox( "你确实要退出吗? ", vbYesNo + vbExclamation, "系统询问 ") = vbYes Then
Unload Me
End
Else
Cancel = True
End If
End Sub

[解决办法]
我被弄糊涂了,没太明白楼主的意思,不知是不是不想关闭这个窗口时不关闭整个程序,而是保留其他窗口呢?
如果是这样,就简单了:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = (MsgBox( "你确实要退出吗? ", vbYesNo + vbExclamation, "系统询问 ") = vbNo)
End Sub

使用QueryUnload事件的另一个好处是可以根据 unloadmode 参数得知是什么原因导致的窗口关闭:

常数 值 描述
vbFormControlMenu 0 用户从窗体上的“控件”菜单中选择“关闭”指令。
vbFormCode 1 Unload 语句被代码调用。
vbAppWindows 2 当前 Microsoft Windows 操作环境会话结束。
vbAppTaskManager 3 Microsoft Windows 任务管理器正在关闭应用程序。
vbFormMDIForm 4 MDI 子窗体正在关闭,因为 MDI 窗体正在关闭。
vbFormOwner 5 因为窗体的所有者正在关闭,所以窗体也在关闭。


[解决办法]
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = (MsgBox( "你确实要退出吗? ", vbYesNo + vbExclamation, "系统询问 ") = vbNo)
End Sub

使用QueryUnload事件的另一个好处是可以根据 unloadmode 参数得知是什么原因导致的窗口关闭:

常数 值 描述
vbFormControlMenu 0 用户从窗体上的“控件”菜单中选择“关闭”指令。
vbFormCode 1 Unload 语句被代码调用。
vbAppWindows 2 当前 Microsoft Windows 操作环境会话结束。
vbAppTaskManager 3 Microsoft Windows 任务管理器正在关闭应用程序。
vbFormMDIForm 4 MDI 子窗体正在关闭,因为 MDI 窗体正在关闭。
vbFormOwner 5 因为窗体的所有者正在关闭,所以窗体也在关闭。

热点排行