大家好!VB.net VS2010,如何捕捉任意按钮的按下事件?

我想实现的功能:当软件的任意一个按钮被按下时,所有的控件都Disable1分钟然后恢复为Enable,以避免当前工作未做完又来一个新的任务(其他任意一个按钮被按下)... 我想实现的功能:当软件的任意一个按钮被按下时,所有的控件都Disable 1分钟然后恢复为Enable,以避免当前工作未做完又来一个新的任务(其他任意一个按钮被按下) 展开
 我来答
百百mp3
2013-04-03 · TA获得超过855个赞
知道小有建树答主
回答量:901
采纳率:90%
帮助的人:551万
展开全部
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each Item As Control In Controls
If TypeOf Item Is Button Then
AddHandler Item.Click, AddressOf Buts
End If
Next
End Sub
Sub Buts(ByVal sender As System.Object, ByVal e As System.EventArgs)
AllE_D(False)
Timer1.Interval = 60000
Timer1.Enabled = True
End Sub
Sub AllE_D(ByVal e_d As Boolean)
For Each Item As Control In Controls
Item.Enabled = e_d
Next
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
AllE_D(True)
End Sub
夜下寻星
2013-04-02 · 超过21用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:62.3万
展开全部
private buclick (.....) ...handles b1.click, b2.click, b3.click

再拉一个timer控件,时间设为6000,在buclick下写
timer1.enable=true
b1.enable=f
b2.enable=f
........

timer.tick下写
timer1.enable=f
b1.enable=t
b2.enable=t
........
追问
谢谢你!
可是我的窗体里按钮太多,几十个,名字可能也不规则,我不想一个一个在触发条件里添加,有没有更好的办法?
追答
上面写了呀,就是写一个sub然后后面handles所有button的click就好了,然后sub里写一边所有的button的enable=f/t就行了,要真的不想这么写就要写遍历me.control集合里button然后声明click事件……略烦,代码今晚就写不出来了……嗯,就是这样。代码我明天试着写写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式