我們的客戶有特定的鼠標 - 他們有2個卷軸。 在'mainScroll_click'上,他希望我們觸發事件A和'scroll2_click'事件B.雙鼠標滾動事件
是否有可能使用c#?或者我應該尋求鼠標驅動程序的幫助?
對於中間的按鈕我一直使用:
if (e.MiddleButton) { MessageBox.Show("Middle!"); }
,但我不能找到有關MiddleButton2
任何信息我們的客戶有特定的鼠標 - 他們有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#)展示瞭如何攔截和處理原始事件
鼠標從客戶端到達,它似乎沒有拇指按鈕,並在第二輪單擊時觸發X2按鈕。 – Pieczarr
我會檢查兩輪產品的驅動程序文檔。由於這是非常定製和不尋常的,他們甚至可能擁有一個SDK,您可以將其與您的程序結合使用。 – Harvey
通常將擴展函數軟鍵映射到鍵,例如PgUp/PgDwn或箭頭。或XButtons。我要麼推動物理訪問所述設備,要麼創建一些測試應用程序來記錄事件。 – PTwr
XButton1和XButton2對應於ThumbButtons(正常鼠標左側的那些按鈕),而不是第二輪 – Pieczarr