以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  进度条的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70085)

--  作者:hdffzxf
--  发布时间:2015/6/15 17:24:00
--  进度条的问题

我设计了一个独立窗口,并在窗体上设计了5个按钮和一个进度条,单击某按钮后,调用相关数据,进度条指示调用进度,我想在进度条进展的过程中,不允许用户在操作窗口中的任意按钮,这怎么实现呢?目前我采用的方法是:进度条在进展过程中,设置了所有按钮的enble属性为false,这样按钮全部变灰不可用,但是总觉的有山寨感,有没有别的方法别让按钮变灰但不可用?


--  作者:大红袍
--  发布时间:2015/6/15 17:27:00
--  

弄一个变量标记。

 

If vars("不许用") = true Then Return

 

------------

 

进度条开始之前赋值 vars("不许用") = True

 

最后 vars("不许用") = False


--  作者:Bin
--  发布时间:2015/6/15 17:28:00
--  
可以这么做.

或者用个全局变量来判断

开始就设置全局变量等于1  结束就设置为2

这样按钮里判断一下.等于2才执行代码.  等于1的话就什么都不执行, 点了也没反应

--  作者:hdffzxf
--  发布时间:2015/6/15 17:35:00
--  

二楼三楼,上述方法就得往窗口上的很多控件加代码,我举例了5个按钮,实际上各类控件有好多,那就得往每个控件事件中加代码了,很啰嗦呀!


--  作者:hdffzxf
--  发布时间:2015/6/15 17:37:00
--  
 

图片点击可在新窗口打开查看此主题相关图片如下:8jp5rmhu@1v{v7$c`)r0q.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/6/15 17:37:27编辑过]

--  作者:大红袍
--  发布时间:2015/6/15 17:39: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


--  作者:hdffzxf
--  发布时间:2015/6/15 17:58:00
--  

透明窗口后按钮就不响应了吗?


--  作者:大红袍
--  发布时间:2015/6/15 17:59:00
--  
是,只要窗口不关闭
--  作者:hdffzxf
--  发布时间:2015/6/15 18:02:00
--  

我原先的方法,在遍历窗体中所有控件后使其不可用,table控件不变灰,其他控件尤其是按钮变灰了,不怎么美观感觉,有没有办法遍历控件使其不可用,但不变灰呢?


--  作者:Bin
--  发布时间:2015/6/15 18:04:00
--  
没有呢