以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  单击按钮打开窗口问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71554)

--  作者:supwork
--  发布时间:2015/7/13 22:33:00
--  单击按钮打开窗口问题

做一个按按钮 打开一个窗口。

如果只单击一次,打开窗口没啥问题

 

如果 双击按钮。也可以打开窗口,但是窗口在打开 时会闪动

 

如果已单击打开了,再单击已打开窗口也会不停闪动。


--  作者:大红袍
--  发布时间:2015/7/13 22:36:00
--  

 1、你可以禁用按钮;

 

 2、你可以写如果窗口打开,就不执行对应代码就行


--  作者:supwork
--  发布时间:2015/7/13 22:40:00
--  

If Forms("通用查询窗口说明").Opened = False Then
Forms("通用查询窗口说明").Show
End If

如此写代码 怎么没有用

 


--  作者:大红袍
--  发布时间:2015/7/13 22:41:00
--  
  例子......
--  作者:supwork
--  发布时间:2015/7/13 22:53:00
--  

附件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:打开窗口闪.foxdb

打开的窗口2是 模式窗口,但没盖住原窗口1。就能看到原窗口,

再次单击窗口1中的 打开窗口按钮,打开 窗口2,则窗口2闪得很

 

窗口如果 没打开时,双击 打开窗口按钮,窗口2打开也闪得很

 

类似代码试过都没用

If Forms("通用查询窗口说明").Opened Then
e.Form.Controls("btnTableInfo").Enabled =False
Else
Forms("通用查询窗口说明").Show
End If

[此贴子已经被作者于2015/7/13 22:53:53编辑过]

--  作者:supwork
--  发布时间:2015/7/13 23:00:00
--  

经反复 测试 不是按钮的问题(但双击后,模式窗口闪则应该是按钮的问题) 能取消按钮的双击事件 或双击事件只执行单击事件

 

闪动多是模式窗口打开后,如果点击模式窗口范围外的其它FT窗口任意地方,则模式窗口均闪得厉害

[此贴子已经被作者于2015/7/13 23:01:28编辑过]

--  作者:大红袍
--  发布时间:2015/7/14 0:09:00
--  

 呃,闪是模式窗口特有的,人家闪的意思是,你不能点击其他地方,只能用模式窗口里面的内容。

 

 如果不想闪,又想用模式窗口的功能,就用独立窗口模拟

 

 新增一个独立窗口,afterload事件代码,窗口 通用查询窗口说明 设置成独立的,打开之前,先打开透明窗口

 

e.Form.BaseForm.Width = BaseMainForm.Width
e.Form.BaseForm.Height = BaseMainForm.Height
e.Form.BaseForm.Top = BaseMainForm.Top
e.Form.BaseForm.Left = BaseMainForm.Left
e.Form.BaseForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None  \'消除窗口的边框
e.Form.BaseForm.Opacity = 0.1


--  作者:supwork
--  发布时间:2015/7/14 9:54:00
--  

呃,闪是模式窗口特有的,人家闪的意思是,你不能点击其他地方,只能用模式窗口里面的内容。

 

 

这个个人感觉 不好,应该像EXCEL那样,模式窗口打开后,你点其它地方屏幕无任何反应。另最后打开的模式窗口在最前面,不能跑后面去了。


--  作者:大红袍
--  发布时间:2015/7/14 10:07:00
--  

模式窗口的闪,是不能改的。

 

要么你就用7楼的,模拟模式窗口。