主题:父窗口如何调用子窗口的方法或事件
elffen
[专家分:170] 发布于 2008-11-24 22:33:00
我的本意是:作为顶层表单的父窗口,在连续打开两个或多个子窗口后,如在打开相同的子窗口(或者在子窗口间来回切换)时,能把该子窗口从后台显示出来,也不是重新打开一个新的。
现在的问题是:我设计切换子窗口的事件放在父窗口上边,一个一拉式组合框。就是找不到判断子窗口存在及调用子窗口的relase或show等方法。谁帮帮我,急.
回复列表 (共6个回复)
沙发
cbl518 [专家分:57140] 发布于 2008-11-25 19:02:00
FOR each o1 in _vfp.Forms
IF o1.name="表单引用名"
o1.show
RETURN
ENDIF
ENDFOR
板凳
elffen [专家分:170] 发布于 2008-11-27 01:33:00
非常谢谢cbl518老师的指点。
用你的方法,窗口找到,可问题还没能最终解决。用Show方法不能把窗口从后台显示出来。但还是谢谢你。
3 楼
xm7050432 [专家分:180] 发布于 2008-11-27 15:33:00
FOR each o1 in _vfp.Forms
IF o1.name="表单引用名"
o1.show
else
do form 表单引用名
ENDIF
ENDFOR
我改成这样,但是关闭窗口的时候好像有问题,一直点退出,要点5,6次。
4 楼
cbl518 [专家分:57140] 发布于 2008-11-27 22:09:00
FOR each o1 in _vfp.Forms
IF o1.name="表单引用名"
SHOW WINDOW (o1.name) Top
RETURN
ENDIF
ENDFOR
5 楼
elffen [专家分:170] 发布于 2008-11-29 02:12:00
我的VFP8.0环境下试,SHOW WINDOW (o1.name) Top 无任何反应,郁闷
详细说明一下我想要的功能:
父窗口表单上有:菜单\工具栏\下拉组合框
点菜单:打开子窗口,用do form
点工具栏或组合框:打开(或显示)子窗口,但要判断
if 已运行=.T.
??
else
do form
endif
现在就求??内容.
6 楼
elffen [专家分:170] 发布于 2008-12-08 00:44:00
问题已解决,用
ACTIVATE WINDOW(form.name) Top
我来回复