以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗口Beforeclose关闭前拦截失败  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=134868)

--  作者:Grandraw
--  发布时间:2019/5/11 5:44:00
--  窗口Beforeclose关闭前拦截失败
发现个奇怪的现象,在窗口关闭之前用e.cancel=true进行拦截时,有时候会拦截失败。


beforeclose代码:

第一行: if e.closemode=1 then return  \'如果是通过代码关闭则不拦截
第二行: messagebox.show("stop closing")
第三行: e.cancel=true

\'**********************
然后,手动点红叉关闭窗口。

如果没有第一行,还没发现拦截失败过。

如果有第一行的判断,则有50%概率还会拦截失败。

2019高级开发版测试。


--  作者:有点蓝
--  发布时间:2019/5/11 9:04:00
--  

BeforeClose

在关闭窗口前执行。

e参数属性:

Form:       表示要关闭的窗口
Cancel:     逻辑型,设为True,将禁止关闭窗口。
CloseMode:  整数型,如果是通过Form的Close方法关闭窗口,则返回1,否则返回0。



手动点红叉关闭窗口的CloseMode=0