vfp中thisform怎么用、什么时候用?

知道是相对引用和绝对引用,但是不知道用的时候是什么格式的?... 知道是相对引用和绝对引用,但是不知道用的时候是什么格式的? 展开
 我来答
tysanse
2010-07-21 · TA获得超过367个赞
知道答主
回答量:54
采纳率:0%
帮助的人:87.2万
展开全部
如果用到表单集了,那么一般要定位一个控件,需要这样写:

thisforset.form1.****
如果没有表单集,那么一般要定位一个控件,需要这样写:

thisform.****

这都算是绝对引用,也就是从源头开始寻找控件。

相对引用就是从自己开始,去寻找另外一个控件。

很多时候使用相对引用会更好,因为这样也许会减少你修改代码的工作量。

比如,你在表单上放了一个optiongroup,同时放了一个commandbutton,在点击这个button时,在click代码中需要访问optiongroup的值。

如果是绝对引用,应该这样写:thisform.optiongroup1.Value
而如果是相对引用,则应该这样写:this.Parent.optiongroup1.Value

看起来相对引用代码要长,这样写究竟好不好?

我们来分析一下。
如果你用的是绝对引用,那么,当你在表单上创建了一个Pageframe,并且把optiongroup和commandbutton的位置调整到了Pageframe的page1上,这个时候,你button的click代码就有错误了,需要改成:
thisform.pageframe1.page1.optiongroup1.Value
这样,才能从源头开始正确的找到optiongroup1.Value。

而如果你用的是相对引用,那么我可以高兴的告诉你,当你把optiongroup和commandbutton的位置调整到了Pageframe的page1上,这个时候,你button的click代码不需要做任何修改,依然是
this.Parent.optiongroup1.Value

这就是使用相对路径的好处。

看明白了么?
天天晚上数钞票
2010-07-21 · TA获得超过1003个赞
知道小有建树答主
回答量:862
采纳率:87%
帮助的人:701万
展开全部
表单是一个容器,那么里面的控件引用就得用到它
如果表单有个文本框 thisform.text1...
如果表单中有个容器控件container1
而容器控件里又加了一个文本框(是在容器控件编辑状态下添加的),若要对文本框设为不可用则命令为 thisform.container1.text1.enabled=.f.
上面的命令是写在表单的事件中如init里的,若要写在文本框的init事件中的话
可以这样写,也可以用相对引用如this.enabled=.f.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8c39b9d43
2010-07-21
知道答主
回答量:40
采纳率:0%
帮助的人:26.5万
展开全部
thisform.text1.value="123"
设置当前表单中 text1 的值为 123
thisform.refresh
刷新当前表单
thisform.release
释放当前表单“内存”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式