VFP表单如果在程序中互相调用?

VFP程序中,分别有两个独立的表单form1和form2,如何在form2里面用代码控制form1的控件?除了用表单集的thisformset.form1之外还有什么办法... VFP程序中,分别有两个独立的表单form1和form2,如何在form2里面用代码控制form1的控件?除了用表单集的thisformset.form1之外还有什么办法?
可能我说的不清楚大家有点误会,fouroceans的回答比较接近我的意思,我按他的方法试了一下,在程序里面运行的话显示"程序错误,找不到对象f1",但在命令窗口方式下就可以,不知是什么原因.
展开
 我来答
百度网友1c6b613
2008-01-15 · TA获得超过1.5万个赞
知道小有建树答主
回答量:1277
采纳率:0%
帮助的人:1057万
展开全部
请看我的商用软件的部分 调用关系,这是在一个命令组中的窗体调用(命令组控件再一个窗体中):
do case
case this.value=1 &&设定冬停有关系数
do form .\txt\frmsdl31
case this.value=2 &&自动结算租赁费
do form .\txt\frmsdl32
do form .\txt\frmsdl31
do sdl32 in .\abc
do form .\txt\frmsdl33
case this.value=3 &&租赁结算的显示
do form .\txt\frmsdl33
case this.value=4 &&假定日期计算租赁费
DO FORM .\txt\frmsdl34
do form .\txt\frmsdl33
case this.value=5 &&租赁结算的模拟显示
thisform.hide
report form .\txt\frxsdl35.frx Environment pdsetup preview
thisform.show
case this.value=6 &&租赁结算的打印
thisform.hide
report form .\txt\frxsdl35.frx Environment pdsetup to print prompt noconsole
thisform.show
case this.value=7 &&自动生成损坏价格
do sdl37 in .\abc
do form .\txt\frmsdl37
case this.value=8 &&损坏价格的显示
do form .\txt\frmsdl37
case this.value=9 &&损坏价格的模拟显示
thisform.hide
report form .\txt\frxsdl38.frx Environment pdsetup preview
thisform.show
case this.value=10 &&损坏价格的打印
thisform.hide
report form .\txt\frxsdl38.frx Environment pdsetup to print prompt noconsole
thisform.show
case this.value=11 &&丢失价格自动生成
do sdl311 in .\abc
do FORM .\txt\frmsdl311.scx
do sdl311_1 in .\abc
do FORM .\txt\frmsdl312.scx
case this.value=12 &&丢失价格的显示
do FORM .\txt\frmsdl312.scx
case this.value=13 &&丢失价格的模拟显示
thisform.hide
report form .\txt\frxsdl313.frx Environment pdsetup preview
thisform.show
endcase
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恨别愁更伤悲
2008-01-25 · TA获得超过913个赞
知道大有可为答主
回答量:1585
采纳率:0%
帮助的人:1341万
展开全部
在form1和form2同时运行的情况下,否则先do form 表单名 打开表单
假设form1的存盘文件名为:f1.scx
那么你在form2调用form1内控件方法为
f1.command1.enabled=.f.

有没有看清楚我说的
是存盘文件名
不是form的name属性值
看清楚le
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
meiguoan
2008-01-20 · TA获得超过551个赞
知道小有建树答主
回答量:668
采纳率:0%
帮助的人:824万
展开全部
在FORM2中使用变量P作为改变FORM1状态:
IF ...
P='1'
ELSE
P='2'
ENDIF
...
do form form1 with p
*把参数P传递给FORM1

表单FORM1的INIT事件:
LPARAMETERS n
*接受FORM2参数
do case
case n='1'
thisform.command1.enabled=.f.
case n='2'
thisform.command1.enabled=.t.
...
endcase
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式