我有一个带有Toolstrip
and的 Winforms 应用程序Datagridview
。
我正在尝试MouseWheeling
基于ToolStripMenuItems
此处的一些信息来实施:
我已经添加了一个Mousewheel
事件,DataGridView
因为向基本表单添加一个事件没有触发。我的问题是我找不到一种方法来检测鼠标光标何时在 openToolstripMenu
上,它总是说它在DataGridView
.
我尝试了几种不同的方法,包括当前代码:
Public Shared Function FindControlAtPoint(container As Control, pos As Point) As Control
Dim child As Control
For Each c As Control In container.Controls
If c.Visible AndAlso c.Bounds.Contains(pos) Then
child = FindControlAtPoint(c, New Point(pos.X - c.Left, pos.Y - c.Top))
If child Is Nothing Then
Return c
Else
Return child
End If
End If
Next
Return Nothing
End Function
Public Shared Function FindControlAtCursor(form As Form) As Control
Dim pos As Point = Cursor.Position
If form.Bounds.Contains(pos) Then
Return FindControlAtPoint(form, form.PointToClient(Cursor.Position))
End If
Return Nothing
End Function