标题:大家如何限制窗口的多次打开?
只看楼主
yuantao100
Rank: 2
等 级:论坛游民
帖 子:61
专家分:16
注 册:2012-7-5
结帖率:100%
已结贴  问题点数:20 回复次数:11 
大家如何限制窗口的多次打开?
我的VFP,所有菜单里的表单,在菜单里选一次就运行一次,好多同志只开窗口不去关,就会越来越多,
有没有办法检测如果该窗品没有打开,就打开表单;如果已经打开了,就直接激活该表单窗口?
搜索更多相关主题的帖子: 窗口 限制 表单 多次 打开 
2020-07-27 11:58
yuantao100
Rank: 2
等 级:论坛游民
帖 子:61
专家分:16
注 册:2012-7-5
得分:0 
我想把代码直接写在表单里面。。。。不再新建文件。。。
2020-07-27 12:02
zhken
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:273
专家分:594
注 册:2012-9-21
得分:10 
设置一个公共变量,如 PUBLIC caidan_caption
打开此菜单时令 caidan_caption='此菜单窗口名',关闭时 caidan_caption='' 。
在打开前查找这个窗口,查到有,就定位并设置焦点.没找到或 caidan_caption=''时就打开这个窗口.   
2020-07-27 12:20
yuantao100
Rank: 2
等 级:论坛游民
帖 子:61
专家分:16
注 册:2012-7-5
得分:0 
谢谢啦!我最后是这样处理的:

在表单的load事件里面, 这样写的:
if type("windows_flag_101")="U"
    public windows_flag_101
    windows_flag_101=1
else
    return .F.
endi
............................


在表单的退出按钮里写上:
if messagebox("确定要通出程序吗?",32+1,"退出")=1
    rele windows_flag_101
    thisform.release
endi
2020-07-27 14:30
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:1 
楼主说的窗口可能特指表单吧,如果是的话,重点似乎不在检测。一般不建议同时打开多个兄弟表单,如特殊需要,建议用标签页。如果是父子表单,建议为模式表单,这样不会重复打开。
一个应用软件不能对使用者提过高的要求,只要允许的操作就应该是对的,起码不能让系统崩溃。

dBase有人接盘了。
2020-07-27 15:05
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:2 
其实用窗口检测函数更简便:
if wexist('表单名')
    ACTIVATE WINDOW 表单名
else
    DO FORM 表单名
endif

活到老,学到老! http://www. E-mail:hu-jj@
2020-07-27 15:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
以下是引用hu9jj在2020-7-27 15:23:27的发言:

其实用窗口检测函数更简便:
if wexist('表单名')
    ACTIVATE WINDOW 表单名
else
    DO FORM 表单名
endif

这个可以,判断表单name属性定义的表单名
也可以枚举表单对象
2020-07-27 15:44
zhken
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:273
专家分:594
注 册:2012-9-21
得分:1 
回复 6楼 hu9jj
ACTIVATE WINDOW 表单名     有时侯不起作用,没有反应,不知为什么。用API灵光一点。
2020-07-27 18:12
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
得分:2 
IF WEXIST("表单名") AND !ISNULL(表单名) AND VARTYPE(表单名)="O"
    表单名.show()
else
    do form 表单名
endif

piu~piu~
2020-07-27 23:16
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:2 
用模式表单,只打开一个,必须关了才可打开 另一个

只求每天有一丁点儿的进步就可以了
2020-07-28 07:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502645-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.279575 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved