我的問題是因爲我認爲簡單,但它變得更復雜一點,我試圖實現的是這樣的:我有幾個按鈕在我的WinForm中做幾乎相同的事情,所以我創建了一個事件來處理所有這些事件,現在我希望根據他們點擊哪個鼠標按鈕給他們一些其他的功能,例如,如果按鈕被點擊左鍵執行,但是如果它的右鍵單擊以其他方式執行,這可以實現嗎?,任何幫助將不勝感激。檢測按鈕是左鍵還是右鍵
我正在尋找一些語句像這樣也許......
private void buttons_Click(object sender, EventArgs e)
{
if(e.buttons==mousebuttons.right)
//do something
else
//do other thing
}
正如你所知道的是,這是無法實現的,因爲e
上有沒有mouse button events
的東西,造成i'ts是稱爲button click event
。
A 「點擊」 的定義是一個單一的,左擊鼠標。您的用戶也會期待這一點。如果右鍵單擊程序中的某個按鈕,可能會引起混淆。也許你可以找到更符合標準的方法來開始你的行動。畢竟一個按鈕上只有一個文本,要傳達兩種意義的兩種含義,只有一個文本才能讓用戶點擊按鈕。 – nvoigt
任何時候,我已經做了這樣的事情,我已經使用了MouseUp事件,因爲click事件同時包含MouseDown和MouseUp事件,並且在鼠標被釋放之前不會被觸發,所以它在我心中是最合乎邏輯的地方做那樣的事情。 –
您可以_type cast_'EventArgs e'到'MouseEventArgs'。但是,它只會捕獲'mousebuttons.left',但不會'mousebuttons.right'。 – Edper