(源程序下载)
我们先来看看WINDOWS下程序退出的步骤:当程序执行到 End 语句或是按下了 Alt+F4 组合键或是右上角“X”时,系统会先询问Sub Form_QueryUnload()接着询问Sub Form_Unload()。如果询问时发现 Cancel 为0(默认为0)才会退出程序。于是我们就得到了避免直接关闭程序的基本编程思路,即在Sub Form_Unload()中把Cancel设为非0的值。
其中Sub Form_Unload()的语法如下:
Sub Form_Unload()的完整的语句为:Private Sub Form_Unload(Cancel As Integer),其中的参数Cancel是当系统询问时程序传递给系统的值,它的默认值为0,如果我们不在程序中改变它的值,询问后窗体便自动关闭。为了实现确认后才关闭,我们可在程序中写入下面代码:
Private Sub Form_Unload(Cancel As Integer)
Dim IntR As Integer
IntR = MsgBox("确认要退出程序吗?", vbYesNo, "退出确认")
If IntR = vbNo Then Cancel = -1 '
End Sub
这样当我们点击“X”或使用“End”语句关闭窗体时,便会出现确认对话框,只有选择“确定”才会关闭。然而Form_Unload的作用范围是有限的,如果直接退出WINDOWS操作系统,采用上面方法便失效了。为了避免这种情况的发生,我们采用Form_QueryUnload会更加保险一些,可以在程序中加入如下代码:
Private Sub Form_QueryUnload(Cancel As Integer)
Dim IntR As Integer
IntR = MsgBox("确认要退出程序吗?", vbYesNo, "退出确认")
If IntR = vbNo Then Cancel = -1 '
End Sub
这样就能保证万无一失了。