Vb.net 是否为窗体的所有控件创建相同的处理程序?
我正在尝试向表单中的所有控件添加相同的处理程序。这是我的密码:Vb.net 是否为窗体的所有控件创建相同的处理程序?,vb.net,Vb.net,我正在尝试向表单中的所有控件添加相同的处理程序。这是我的密码: Sub CreateDelegates() For Each Ctl In Me.Controls AddHandler Ctl.MouseDown, AddressOf MainPictureBox_MouseDown Next End Sub 问题是MouseDown未被识别为对象的事件。你知道怎么解决吗 谢谢你这样试试: For Each Ctl As Control In Me.Contro
Sub CreateDelegates()
For Each Ctl In Me.Controls
AddHandler Ctl.MouseDown, AddressOf MainPictureBox_MouseDown
Next
End Sub
问题是MouseDown
未被识别为对象的事件。你知道怎么解决吗
谢谢你这样试试:
For Each Ctl As Control In Me.Controls
AddHandler Ctl.MouseDown, AddressOf MainPictureBox_MouseDown
Next
如果这些都是PictureBox控件,则最好对其进行过滤:
For Each Ctl As PictureBox In Me.Controls.OfType(Of PictureBox)()
AddHandler Ctl.MouseDown, AddressOf MainPictureBox_MouseDown
Next
您是否在
上有选项推断?如果没有,请尝试将每个Ctl作为我的控件进行。控件
。我不知道,但这是有效的。谢谢mate。选项推断不能解决这个问题,它推断对象,因为控件实现了非泛型IEnumerable。请关闭您的问题。现在完成了,我以前无法完成,因为如果计时器没有,那只是我在另一个窗口中已经完成的函数的复制/粘贴,我只需要在PictureBox上使用此处理程序。