vb.net怎么遍历所有控件,使Click都执行相同的过程
要在窗体上随便点击一个控件都使Timer1.Enabled=True,不知用遍历所有控件的方法如何做。...
要在窗体上随便点击一个控件都使Timer1.Enabled=True,不知用遍历所有控件的方法如何做。
展开
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
追问
虽然你写的有点乱,但我还是勉强看懂了,而且试过可用,谢谢啦,建议以后再写代码的时候要分行写啊。
追答
哦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
For Each subControl As Control In Form1.Controls
//判断控件类型 --type of 或者 is
Next
//判断控件类型 --type of 或者 is
Next
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询