vb.net怎么遍历所有控件,使Click都执行相同的过程

要在窗体上随便点击一个控件都使Timer1.Enabled=True,不知用遍历所有控件的方法如何做。... 要在窗体上随便点击一个控件都使Timer1.Enabled=True,不知用遍历所有控件的方法如何做。 展开
 我来答
哲事姓无
2013-08-17 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:436万
展开全部
c# 用程序转的,也不知道对不对。你看看有没有帮助 ,这是遍历所有控件,还有一个办法就是重载form的消息处理函数应该也是可以的。


<STAThread> _
Public Shared Sub Main(args As String())
Dim button = New Button()
button.Text = "我是按钮"
button.Dock = DockStyle.Fill

Dim form = New Form()
form.Controls.Add(button)
CapturehMouseClickEvent(form)


form.ShowDialog()
End Sub

Private Shared Sub CapturehMouseClickEvent(control As Control)
AddHandler control.Click, AddressOf ControlOnClick
For Each subControl As Control In control.Controls
CapturehMouseClickEvent(subControl)
Next
End Sub

Private Shared Sub ControlOnClick(sender As Object, eventArgs As EventArgs)
Debug.WriteLine("控制被单击")
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2013-08-17 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7703万
展开全部
Public Class Form1
    Public Sub New()
        InitializeComponent()
        For Each c As Control In Controls
            AddHandler c.Click, AddressOf c_Click
        Next


    End Sub
    Private Sub c_Click(sender As System.Object, e As System.EventArgs)
        Timer1.Enabled = True
    End Sub
End Class
追问
虽然你写的有点乱,但我还是勉强看懂了,而且试过可用,谢谢啦,建议以后再写代码的时候要分行写啊。
追答
哦。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钮慨030
2013-08-17 · TA获得超过448个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:79.1万
展开全部
For Each subControl As Control In Form1.Controls
//判断控件类型 --type of 或者 is

Next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式