在vfp中,一表单用的thisform.hide,在另外一表单按钮中怎么让隐藏的表单显现?
2个回答
展开全部
如果是表单集,可以直接用THISFORMSET.表单名.SHOW
如果是通过表单间的相互调用,就不能用表单名.SHOW来显现这个表单,会出错,提示表单不存在.这个时候要通过以下语句来实现:
FOR nFrm=1 TO _screen.FormCount
IF LOWER(_screen.Forms(nFrm).name)="表单名"
thisform.Hide
_screen.Forms(nFrm).enabled=.t.
_screen.Forms(nFrm).show
EXIT
ENDIF
ENDFOR
如果是通过表单间的相互调用,就不能用表单名.SHOW来显现这个表单,会出错,提示表单不存在.这个时候要通过以下语句来实现:
FOR nFrm=1 TO _screen.FormCount
IF LOWER(_screen.Forms(nFrm).name)="表单名"
thisform.Hide
_screen.Forms(nFrm).enabled=.t.
_screen.Forms(nFrm).show
EXIT
ENDIF
ENDFOR
追问
能不能解释一下 nFrm要定义嚒 还有为什么是用LOWER 这个好像是大小写转换吧
追答
nFrm=1不是就是定义嘛!
一般来说表单名,表名,字段名等都应该用英文.我用LOWER()那么"="号后面你就写小写的表单名,当然你也可以用UPPER(),那后面写大写的表单名.之所以要转换大小写,是防止如果程序有设置精确比较时,由于大小写造成不相等的情况.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询