| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 401 人关注过本帖, 1 人收藏
标题:大家如何限制窗口的多次打开?
只看楼主 加入收藏
yuantao100
Rank: 2
等 级:论坛游民
帖 子:61
专家分:16
注 册:2012-7-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
大家如何限制窗口的多次打开?
我的VFP,所有菜单里的表单,在菜单里选一次就运行一次,好多同志只开窗口不去关,就会越来越多,
有没有办法检测如果该窗品没有打开,就打开表单;如果已经打开了,就直接激活该表单窗口?
搜索更多相关主题的帖子: 窗口 限制 表单 多次 打开 
2020-07-27 11:58
yuantao100
Rank: 2
等 级:论坛游民
帖 子:61
专家分:16
注 册:2012-7-5
收藏
得分:0 
我想把代码直接写在表单里面。。。。不再新建文件。。。
2020-07-27 12:02
zhken
Rank: 4
等 级:业余侠客
威 望:2
帖 子:147
专家分:236
注 册: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: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:455
专家分:1349
注 册:2011-5-8
收藏
得分:1 
楼主说的窗口可能特指表单吧,如果是的话,重点似乎不在检测。一般不建议同时打开多个兄弟表单,如特殊需要,建议用标签页。如果是父子表单,建议为模式表单,这样不会重复打开。
一个应用软件不能对使用者提过高的要求,只要允许的操作就应该是对的,起码不能让系统崩溃。

dBase有人接盘了。
2020-07-27 15:05
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:371
帖 子:11536
专家分:42813
注 册:2006-5-13
收藏(1)
得分: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
等 级:版主
威 望:255
帖 子:7424
专家分:33249
注 册:2014-5-20
收藏(1)
得分:2 
以下是引用hu9jj在2020-7-27 15:23:27的发言:

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

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

功到自然成
2020-07-27 23:16
wengjl
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:86
帖 子:1803
专家分:3219
注 册:2007-4-27
收藏
得分:2 
用模式表单,只打开一个,必须关了才可打开 另一个

只求每天有一丁点儿的进步就可以了
2020-07-28 07:59
快速回复:大家如何限制窗口的多次打开?
数据加载中...
 
   



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

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