首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

A表单的edit1.value 要取B表单的edit1.value 怎么取

2012-05-01 
A表单的edit1.value 要取B表单的edit1.value 如何取?本问题是二个表单的数据传送。A表单访问B表单,B表单要

A表单的edit1.value 要取B表单的edit1.value 如何取?
本问题是二个表单的数据传送。A表单访问B表单,B表单要将B.edit1的数据传回A表单的A.edit1中。
1.A表单的按钮控件程序如下:

**Bedit1Value 是 public
do form B表单 with 1
if !empty(Bedit1Value)
thisform.edit1.value=Bedit1Value
endif


2.B表单的退出程序如下:
Bedit1Value=thisform.edit1.value
thisform.release

A表单程序执行时,除了执行do form B表单外,同时也执行了 if !empty()语句,不是等执行外do form B表单后,再执行它后面的语句,所以在第二次按按钮时,A表单edit1才有数据。请问如何将B表单的edit1.value 返回到A表单的edit1.value 中?



[解决办法]
既然要到 B 退出时才将 Bedit1Value 赋值,为何不将 B 设为模式表单?
如果 B 是模式表单,这在 unload 事件中直接 return 值就行了
调用 B 时用语法: do form 表单B with 参数 to 返回值

----

如果另有原因不能做成模式表单,可以调用时将 A 传入 B
do form 表单B with 1, thisform

B 的 init 中接收参数: 
lparameters 参数1, toCaller
Thisform.AddProperty('oCaller', toCaller)

退出前:
thisform.oCaller.edit1.value = thisform.edit1.value
thisform.Release()

[解决办法]
Visual FoxPro 9.0 示例 
在表单之间传递参数示例 
文件:...\Samples\Solution\Forms\Param.scx
示例在VFP9系统中

热点排行