VF 关闭表单代码 解决的再追加100分!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 11:15:42
设计的小软件,启动后到登陆界面(一个表单)

“确定”键的click代码如下
*密码验证
loginflag=loginflag+1
*正确密码是admin

if thisform.text1.value='admin'
WAIT'欢迎登陆本系统'WIND NOWA
??CHR(7)
RETU .T.
ELSE
WAIT'您还有'+STR(3-loginflag,1)+'次机会输入密码'WIND NOWA
IF loginflag=3
messagebox('您没有权限使用本系统')
quit
RETU .F.
ENDI
ENDI

请问输入正确后如何自动关闭这个表单?用 thisform.release么?加在哪里?或者还有其他什么办法?

望高人解答

建议增加表单属性nfrmloginflag (此属性取代loginflag)、lfrmlogin(标识是否正确登录)
在表单的init事件中增加代码
this.nfrmloginflag=0
this.lfrmlogin=.f.

将上述代码中的loginflag用thisform.nfrmloginflag替换
RETU .T.替换为
thisform.lfrmlogin=.t.
thisform.release

quit RETU .F.替换为
thisform.release
thisform.lfrmlogin=.f.
注意表单的queryunload事件中没有return .f.之类的语句

在表单的destroy事件中增加代码
return this.lfrmlogin (返回是否成功登记)
注意设置表单的WindowType属性为modal

RETU .T.
ELSE
两行之间加上
thisform.release
return

WAIT'欢迎登陆本系统'WIND NOWA
??CHR(7)
THISFORM.Release()
return .t.