C#中怎样让鼠标的滚轮禁用(winform中) C#中怎样让鼠标的滚轮禁用?不知道有人用过ulgraGrid没,当ultraGrid中的某一列与ultraDropDown绑定,我不想滚动鼠标的滚轮时,其单元格的值也跟变化,请问怎样在让鼠标的滚轮禁用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 操作注册表在HKEY_CURRENT_USER\Control Panel\Desktop的WheelScrollLines的值4改变就行了,0表示禁止滚轮,1表示打开滚轮 应该可以通过调用windowsAPI实现。。 你需要用一个自己的类封装一下ultraGrid,然后在自己的类中阻止WM_MOUSEWHEEL消息。在封装ultraGrid的类中加这个方法:protected override void WndProc(ref Message m){ int WM_MOUSEWHEEL = 0x020A; if (m.Msg == WM_MOUSEWHEEL) { return; } base.WndProc(ref m);} 就是写一个继承ultraGrid的类。 或者SetWindowsHookEx,其实原理都一样,在实现方法里写自己要用的东西,Grid又MouseMove事件吧,设置一个全局变量,用来保存形态,你在事件里判断这个变量就OK了。 钩子 屏蔽鼠标滚动 行不?或者像8楼所说的 自定义类 继承 ultraGrid , 然后重写它的WndProc 虚方法 , 在其中屏蔽鼠标滚动。。 public partial class ExAddHour : Form, IMessageFilter { public ExAddHour() { InitializeComponent(); } private void ExAddHour_Load(object sender, EventArgs e) { Application.AddMessageFilter(this); } #region IMessageFilter 成员 public bool PreFilterMessage(ref Message m) { if (m.Msg == 522) { return true; } else { return false; } } #endregion}原来用的禁用滚轮的代码 Thank all of the above ! C#突然连不上远程MYsql了 如何向字符串前面加字符 如何有条件查询数据库中的图片??? 类,接口! 数据集问题???? Sql Server中如果判断图象类型字段是否有内容? 在线求助,关于serialport编程问题 用Updata方法更新数据库出错 给大家推荐一本书好书 怎么得到系统的当前日期 关于IPAddress类的疑问 c# 网上抓取乱码,正则式group 得不到值
在封装ultraGrid的类中加这个方法:protected override void WndProc(ref Message m)
{
int WM_MOUSEWHEEL = 0x020A;
if (m.Msg == WM_MOUSEWHEEL)
{
return;
}
base.WndProc(ref m);
}
或者SetWindowsHookEx,其实原理都一样,在实现方法里写自己要用的东西,Grid又MouseMove事件吧,设置一个全局变量,用来保存形态,你在事件里判断这个变量就OK了。
或者像8楼所说的 自定义类 继承 ultraGrid , 然后重写它的WndProc 虚方法 , 在其中屏蔽鼠标滚动。。
{
public ExAddHour()
{
InitializeComponent();
} private void ExAddHour_Load(object sender, EventArgs e)
{
Application.AddMessageFilter(this);
}
#region IMessageFilter 成员 public bool PreFilterMessage(ref Message m)
{
if (m.Msg == 522) { return true; } else { return false; }
} #endregion
}
原来用的禁用滚轮的代码