c#鼠标置于DataGridView焦点在外再其上滚动外面不要触发滚动事件
时间: 2023-08-03 15:04:41 浏览: 137
DataGrid鼠标滚动
如果你想在 C# DataGridView 上滚动鼠标滚轮时不触发滚动事件,可以使用 DataGridView 的 MouseWheel 事件,然后判断鼠标是否在 DataGridView 内,如果不在就不处理该事件。下面是一个示例代码:
```csharp
private void dataGridView1_MouseWheel(object sender, MouseEventArgs e)
{
if (!dataGridView1.RectangleToScreen(dataGridView1.DisplayRectangle).Contains(MousePosition))
{
// 鼠标不在 DataGridView 内,不处理该事件
return;
}
// 处理 DataGridView 的滚动事件
// ...
e.Handled = true; // 防止事件继续传递
}
```
在上面的代码中,我们通过 RectangleToScreen 方法将 DataGridView 的显示区域转换为屏幕坐标系,然后判断鼠标是否在该区域内,如果不在就不处理该事件。
希望这个方法能够解决你的问题。
阅读全文