单击垂直滚动条时如何避免 gridview 鼠标离开事件?

How to avoid gridview mouse leave event when clicking on vertical scrollbar?

我有一个带有浮动网格视图的表单,填充文本框或单击按钮时必须出现该表单。如果项目被选中或鼠标离开网格,网格将变得不可见,因此用户可以看到表单的其余部分。大多数情况下网格数据超过最大垂直尺寸,因此需要垂直滚动条。我的问题是,当鼠标移动到垂直滚动条时会触发 MouseLeave 事件,因此网格变得不可见。

这次我认为这不是代码问题,那么是否需要更改一些属性以使程序将 vscrollbar 识别为 GridView 的一部分?或者是否有一些代码解决方案可以在鼠标滚动到滚动条时忽略 MouseLeave 事件?

这是我的事件代码,非常简单:

Private Sub GridCliente_MouseLeave(sender As Object, e As System.EventArgs) Handles GridCliente.MouseLeave
    GridCliente.Visible = False

End Sub

此外,我正在使用组件一 C1TrueDBGrid 而不是标准的 gridview。这可能很重要。

我通过将 GridView 添加到面板并将 MouseLeave 事件更改到面板找到了解决我的问题的方法。为此,面板每边必须超过 GridView 大小至少一个像素,因为如果 GridView 与面板大小相同,MouseLeave 将不会触发(您必须将鼠标悬停在面板上,而不是内部的任何其他组件它 vb.net 考虑面板内的鼠标)。也许这不是最好的解决方案,但对我有用。