鼠标滚轮MouseWheel按下后的动作
鼠标滚轮滚动的动作没有问题。但是鼠标滚轮的Click动作,MultiRow上会出现一个移动的标记,这时移动鼠标multirow的当前视图会移动。
有办法就用掉吗?拦截不掉啊! MultiRow没有接口可以关闭滚轮Click动作,这是标准Grid的一个系统行为。
一个方案是在MultiRow的WndProc中捕获相关Window消息来处理,请参考下边代码:
public class MyGcMultiRow : GcMultiRow
{
const int WM_MBUTTONDOWN = 0x0207;
const int WM_MBUTTONDBLCLK = 0x0209;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_MBUTTONDOWN || m.Msg == WM_MBUTTONDBLCLK)
{
Console.WriteLine("WM_MBUTTONDOWN");
return;
}
base.WndProc(ref m);
}
}
回复 2楼dafo的帖子
明白了!
非常感谢! 回复 3楼yinzhm的帖子
不客气。 写的不错,顶一个! 回复 5楼ronglingieo的帖子
有问题欢迎交流。
页:
[1]