4

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

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

有什么想法可能导致这种情况吗?如果您需要任何代码,我可以在之后编辑问题。

4

1 回答 1

7

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

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

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

如果您想滚动网格而不管哪个控件具有焦点,那么代码将与上面类似,只是稍微调整一下。

于 2012-06-28T12:31:23.110 回答