您的位置:程序门 -> vb -> 基础类



窗口关闭的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


窗口关闭的问题
发表于:2007-01-20 14:14:49 楼主
在窗口里加了一段程序,希望可以在关闭窗口的时候作询问,如下:
private   sub   form_queryunload(cancel   as   integer,   unloadmode   as   integer)
dim   x
x   =   msgbox( "do   you   want   to   quit   ? ",   vbquestion   +   vbokcancel,   "quit ")
if   x   =   vbcancel   then
cancel   =   true
else
unload   me
end   if
end   sub
    可是这就出现了一个问题,因为我的窗口里有一些是窗口跳转按键,而跳转时不希望出现询问,可是按照上面的程序只要离开窗口就会询问。请教各位大虾,该怎么解决这个问题!谢谢!
发表于:2007-01-20 14:29:091楼 得分:0
设置个变量
表识   是点的跳转还是关闭
发表于:2007-01-20 15:38:262楼 得分:0

将代码移到       form_terminate()     事件中试试
发表于:2007-01-20 15:46:213楼 得分:0
我这里没问题啊,或者放在unload中
发表于:2007-01-20 15:56:164楼 得分:0
private   sub   form_queryunload(cancel   as   integer,   unloadmode   as   integer)
debug.print   unloadmode
end   sub

利用unloadmode参数可以区分这两种情况
发表于:2007-01-20 18:23:165楼 得分:0

在form_queryunload事件中通过unloadmode   参数返回下列值:

常数        值 描述  
vbformcontrolmenu   0    用户从窗体上的“控件”菜单中选择“关闭”指令。  
vbformcode       1  unload   语句被代码调用。  
vbappwindows      2 当前   microsoft   windows   操作环境会话结束。  
vbapptaskmanager    3    microsoft   windows   任务管理器正在关闭应用程序。  
vbformmdiform     4     mdi   子窗体正在关闭,因为   mdi   窗体正在关闭。  
vbformowner      5     因为窗体的所有者正在关闭,所以窗体也在关闭。  
发表于:2007-01-20 18:26:326楼 得分:0
窗体跳转时可以用
me.hide   将当前窗体暂时隐藏起来
发表于:2007-01-22 00:05:357楼 得分:0
下面一组代码供你参考:
private   sub   command1_click()
if   msgbox( "你确实要退出吗? ",   vbyesno   +   vbexclamation,   "系统询问 ")   =   vbyes   then
      unload   me
      end
      else
      cancel   =   true
        end   if
end   sub
发表于:2007-01-22 01:41:128楼 得分:0
'在标准模块中设置一个全局变量uquery
public   uquery   as   boolean
'在跳转按键下设置uquery=true

private   sub   form_queryunload(cancel   as   integer,   unloadmode   as   integer)
dim   x   as   integer
if   uquery   then   uquery=false:exit   sub '或者其他语句
x   =   msgbox( "do   you   want   to   quit   ? ",   vbquestion   +   vbokcancel,   "quit ")
if   x   =   vbcancel   then     cancel   =   true
end   sub
发表于:2007-02-07 22:29:189楼 得分:0
在form_queryunload事件中通过unloadmode   参数返回下列值:

常数        值 描述  
vbformcontrolmenu   0    用户从窗体上的“控件”菜单中选择“关闭”指令。  
vbformcode       1  unload   语句被代码调用。  
vbappwindows      2 当前   microsoft   windows   操作环境会话结束。  
vbapptaskmanager    3    microsoft   windows   任务管理器正在关闭应用程序。  
vbformmdiform     4     mdi   子窗体正在关闭,因为   mdi   窗体正在关闭。  
vbformowner      5     因为窗体的所有者正在关闭,所以窗体也在关闭。  
-----------------
这是.net吧
发表于:2007-02-07 23:39:2810楼 得分:0
楼上的正解,unloadmode值对应不同的关闭方式。
发表于:2007-02-08 15:13:5911楼 得分:0
对还真没注意看。


快速检索

最新资讯
热门点击