我想禁用DataGridView
上的所有鼠标滚动,因为它偶尔会导致无法预料的崩溃。
在this question中,建议将事件MouseWheel
添加到我的DataGridView
。但我找不到这样的事件。
我正在使用 .Net Framework 4.5 并在我的应用程序上运行是'64-bit
模式。我在哪里可以找到这个事件。否则我的DataGridView
会忽略所有鼠标滚动吗?
答案 0 :(得分:0)
DataGridView
(System.Windows.Forms)应该包含MouseWheel的事件。请确保您使用的是变量名而不是类名。例如:
这将有效:
DataGridView myDataGridView = new DataGridView();
myDataGridView.MouseWheel += myDataGridView_MouseWheel;
这不起作用:
DataGridView.MouseWheel += ...
答案 1 :(得分:0)
您可以在DataGridView msdn页面找到活动,只需确保勾选"继承"复选框以查看继承的成员。在这种情况下Control.MouseWheel
。
至于
因为它偶尔会导致无法预料的崩溃
也许值得研究一下。如果它在鼠标滚动时发生,可能由于某些其他原因(例如,使用 PgUp PgDown 键滚动)。
答案 2 :(得分:0)
DataGridView的鼠标滚轮支持在64或32位可执行文件中无法正常工作。
它经常导致渲染损坏,有时会导致程序崩溃。
通过手动处理每个DataGridView的MouseWheel来禁用它。
添加以下方法:
void DisableMouseWheel(object sender, MouseEventArgs e)
{
HandledMouseEventArgs h = (HandledMouseEventArgs)e;
h.Handled = true;
}
将事件绑定到表单的构造函数或表单的加载事件中:
dgv.MouseWheel += new MouseEventHandler(DisableMouseWheel);
注意:将dgv替换为您自己的DataGridView的名称。