点击窗体关闭钮如何弹出对话框?
下面是按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 因为窗体的所有者正在关闭,所以窗体也在关闭。