Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView鼠标滚轮滚动停止工作_C#_Datagridview - Fatal编程技术网

C# DataGridView鼠标滚轮滚动停止工作

C# DataGridView鼠标滚轮滚动停止工作,c#,datagridview,C#,Datagridview,我的应用程序中有一个DataGridView,我无法使用鼠标滚轮滚动它。以前它工作得很好。我不确定我做了什么导致了这种情况,因为我只是在最近对代码做了多次更改后才注意到它 我没有发布任何代码,因为有超过2k行,我不确定错误可能在哪里 你知道这是什么原因吗?如果您需要任何代码,我可以在以后编辑问题。几乎可以肯定,问题的出现是因为DataGridView失去了焦点。这可能是因为表单上的另一个控件需要焦点,或者表单默认设置为提供不同的控件焦点 您可以强制DataGridView具有焦点。如果您想模拟当

我的应用程序中有一个DataGridView,我无法使用鼠标滚轮滚动它。以前它工作得很好。我不确定我做了什么导致了这种情况,因为我只是在最近对代码做了多次更改后才注意到它

我没有发布任何代码,因为有超过2k行,我不确定错误可能在哪里


你知道这是什么原因吗?如果您需要任何代码,我可以在以后编辑问题。

几乎可以肯定,问题的出现是因为DataGridView失去了焦点。这可能是因为表单上的另一个控件需要焦点,或者表单默认设置为提供不同的控件焦点

您可以强制DataGridView具有焦点。如果您想模拟当鼠标悬停在控件上时启用鼠标滚轮滚动的标准Microsoft Windows行为,则只需使用以下代码

private void SettingsGrid_MouseEnter(object sender, EventArgs e)
{
     dataGridView1.Focus();
}

如果您想滚动网格,而不管哪个控件具有焦点,则代码将与上面类似,只需稍加调整。

如果网格具有焦点,鼠标滚轮将仅滚动网格。在使用滚轮之前,请尝试单击网格中的一个单元格。您是否意外地为正在拦截事件的鼠标滚轮事件添加了EventHandler?谢谢,当我单击单元格时,焦点会移动。就是这样!谢谢单击时,它会将焦点切换到文本框。现在我需要弄清楚如何保持焦点切换到文本框,并能够滚动dataGridView。