Hi,
ContextMenuStrip does not proved scroll event trapping, not tried this but you may be able to use IMessageFilter.PreFilterMessage and trap mouse wheel events when the ContextMenuStrip is active, there may be other conditions such as page up and page down you have to trap as well to completely block scrolling.
Private Const WM_MOUSEWHEEL As Integer = &H20A
Private ContextActiveFlag as Boolean = False
<Security.Permissions.SecurityPermissionAttribute(Security.Permissions.SecurityAction.Demand)>
Public Function PreFilterMessage(ByRef m As System.Windows.Forms.Message) As Boolean Implements IMessageFilter.PreFilterMessage
'
' Manage Time Value For Idle Timeout
'
Select Case m.Msg
Case WM_MOUSEWHEEL
'
' If Context Menu Flag True Return True on Mouse Wheel event to ignore
'
If ContextActiveFlag = True Then
Return True
End If
End Select
'
' not handling this event so return false
'
Return False
End Function
On the MenuStrip control trap the Opening or Opened to toggle the ContextActiveFlag to True and the Closing or Closed events to toggle the ContextActiveFlag to False.