DataGridView上没有鼠标滚轮事件
本文关键字:事件 鼠标 DataGridView | 更新日期: 2023-09-27 18:00:43
我想禁用DataGridView
上的所有鼠标滚动,因为它偶尔会导致不可预测的崩溃。
在这个问题中,建议将事件MouseWheel
添加到我的DataGridView
中。但我找不到这样的事件。
我使用.Net Framework 4.5,在我的应用程序上运行是64-bit
模式。在哪里可以找到此活动(如果有的话)。否则,我的DataGridView
会忽略所有鼠标滚动吗?
您可以在DataGridView msdn页面上找到事件,只需确保勾选"继承"复选框即可查看继承的成员。在这种情况下,Control.MouseWheel
。
关于
因为它偶尔会导致不可预测的崩溃
也许值得研究一下。如果它发生在鼠标滚动上,可能是由于其他原因(例如使用PgUpPgDown键滚动)。
DataGridView
(System.Windows.Forms)应包含MouseWheel的事件。请确保使用的是变量名,而不是类名。例如:
这将起作用:
DataGridView myDataGridView = new DataGridView();
myDataGridView.MouseWheel += myDataGridView_MouseWheel;
这将不起作用:
DataGridView.MouseWheel += ...
对DataGridView的鼠标滚轮支持在64位或32位可执行文件中无法正常工作。
它通常会导致渲染损坏,有时还会导致程序崩溃。
通过手动处理每个DataGridView的鼠标滚轮来禁用它。
添加以下方法:
void DisableMouseWheel(object sender, MouseEventArgs e)
{
HandledMouseEventArgs h = (HandledMouseEventArgs)e;
h.Handled = true;
}
在窗体的构造函数或窗体的Load事件中绑定事件:
dgv.MouseWheel += new MouseEventHandler(DisableMouseWheel);
注意:将dgv替换为您自己的DataGridView的名称。