回 帖 发 新 帖 刷新版面

主题:表单在启动时,如果条件不满足,能自行关闭吗?

例如,我在表单的Init事件中加入以下代码:

    文件="C:\1.Doc"
    if .not.file(文件)
       this.release
    else
       this.设置      && 调用表单的自定义方法
    endif

但即使文件不存在,表单还是被打开。我想让它自行关闭,能做到吗?

回复列表 (共8个回复)

沙发


   文件="C:\1.Doc"
    if .not.file(EVALUATE(文件))
       this.release
    else
       this.设置      && 调用表单的自定义方法
    endif

板凳

在表单的load事件中加入:
文件="C:\1.Doc"
    if .not.file(文件)
       retrun .f.
    else
       this.设置      && 调用表单的自定义方法
    endif
这样才能自动退出。

3 楼

将楼上的前段代码放LOAD里即可,即条件不满足直接不干了

4 楼

最好是在调用这个表单之前判断:

文件="C:\1.Doc"
if !file(文件)
return  &&也可以调用其他的表单,如设置表单
endif
do form .........

5 楼

编辑一个 PRG 文件作为程序的主文件,经判断之后,决定程序是否打开表单或退出程序。

6 楼

Gleam真棒,回答了我一直没有解决的问题.谢谢啦!

7 楼

呵呵... ...
其实只要在load事件中出现:retrun .f. 那么表单就会自动退出。
所以,在load事件中的判断,尽可能不要使用 retrun .f.,除非是有目的让程序退出。
另外,在表单的数据环境中的init事件中也可以进行控制程序在条件不满足的时候是否运行。不过在数据环境中添加自动退出代码我只在单窗口程序下使用过,多窗口的情况我就不清楚了。

8 楼

谢谢各位相助。
在此期间,我也找到了办法:

在表单中设置一个属性(或公用变量),
在INIT事件中,判断当条件不成立时,赋值.F.
在ACTIVATE事件中,根据.F.就退出。
不过,表单会闪一下,界面不是太好。

我来回复

您尚未登录,请登录后再回复。点此登录或注册