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上使用此处理程序。