双鼠标滚动事件
Dual mouse scroll events
我们的客户有特定的鼠标 - 它们有 2 个卷轴。
在 'mainScroll_click' 他希望我们触发事件 A,在 'scroll2_click' 事件 B.
是否可以使用 c#?或者我应该在鼠标驱动程序中寻求帮助?
我一直使用的中间按钮:
if (e.MiddleButton) { MessageBox.Show("Middle!"); }
但是我找不到任何关于 MiddleButton2 的信息
没有 middle2,因为默认鼠标假定为 2 个或 3 个按钮。
然而,带有后退和前进等额外特殊按钮的鼠标几乎与轮子一样长,
如果您查看 MouseButtons Enumeration,您会看到它提供了 2 个特殊按钮 XButton1、XButton2,我希望制造商映射到其中一个按钮,但这取决于鼠标的制造商
要获得更详细的信息,您需要移动到鼠标事件,而不仅仅是基本的单击,例如 MouseCLick、MouseUp、MouseDown
private void panel1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Update the mouse path with the mouse information
Point mouseDownLocation = new Point(e.X, e.Y);
string eventString = null;
switch (e.Button) {
case MouseButtons.Left:
eventString = "L";
break;
case MouseButtons.Right:
eventString = "R";
break;
case MouseButtons.Middle:
eventString = "M";
break;
case MouseButtons.XButton1:
eventString = "X1";
break;
case MouseButtons.XButton2:
eventString = "X2";
break;
case MouseButtons.None:
default:
break;
}
如果它们不够好以符合标准鼠标接口,您可能需要在更低的级别上处理它们,在这种情况下,nitrogenycs 对 Mouse Wheel Event (C#) 的回复显示了如何拦截和处理原始数据事件
我们的客户有特定的鼠标 - 它们有 2 个卷轴。 在 'mainScroll_click' 他希望我们触发事件 A,在 'scroll2_click' 事件 B.
是否可以使用 c#?或者我应该在鼠标驱动程序中寻求帮助?
我一直使用的中间按钮:
if (e.MiddleButton) { MessageBox.Show("Middle!"); }
但是我找不到任何关于 MiddleButton2 的信息
没有 middle2,因为默认鼠标假定为 2 个或 3 个按钮。
然而,带有后退和前进等额外特殊按钮的鼠标几乎与轮子一样长,
如果您查看 MouseButtons Enumeration,您会看到它提供了 2 个特殊按钮 XButton1、XButton2,我希望制造商映射到其中一个按钮,但这取决于鼠标的制造商
要获得更详细的信息,您需要移动到鼠标事件,而不仅仅是基本的单击,例如 MouseCLick、MouseUp、MouseDown
private void panel1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Update the mouse path with the mouse information
Point mouseDownLocation = new Point(e.X, e.Y);
string eventString = null;
switch (e.Button) {
case MouseButtons.Left:
eventString = "L";
break;
case MouseButtons.Right:
eventString = "R";
break;
case MouseButtons.Middle:
eventString = "M";
break;
case MouseButtons.XButton1:
eventString = "X1";
break;
case MouseButtons.XButton2:
eventString = "X2";
break;
case MouseButtons.None:
default:
break;
}
如果它们不够好以符合标准鼠标接口,您可能需要在更低的级别上处理它们,在这种情况下,nitrogenycs 对 Mouse Wheel Event (C#) 的回复显示了如何拦截和处理原始数据事件