我们的客户有特定的鼠标 - 他们有2个卷轴。 在'mainScroll_click'上,他希望我们触发事件A并在'scroll2_click'事件B上。
是否可以使用c#?或者我应该在鼠标驱动程序中寻求帮助吗?
对于中间按钮,我一直使用:
if (e.MiddleButton) { MessageBox.Show("Middle!"); }
但我找不到有关MiddleButton2
的任何信息答案 0 :(得分:1)
没有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;
}
如果他们已经足够好以符合标准鼠标界面,您可能需要在更低的水平处理它们,在这种情况下,氮气回复Mouse Wheel Event (C#)显示如何拦截和处理原始事件