本文講解了三種方法實現C# button快捷鍵,如Alt + *(按鈕快捷鍵),Ctrl+*及其他組合鍵等。
C# button快捷鍵之第一種:Alt + *(按鈕快捷鍵)
在大家給button、label、menuStrip等控制元件設定Text屬性時在名字後邊加&鍵名就可以了,比如button1.text= "確定(&O)"。就會有快捷鍵了,這時候按Alt+O就可以執行按鈕單擊事件。
C# button快捷鍵之第二種:Ctrl+*及其他組合鍵
在WinForm中設定要使用組合鍵的窗體的KeyPreview(向窗體註冊鍵盤事件)屬性為True;
然後使用窗體的KeyDown事件(在首次按下某個鍵時發生).
C# button快捷鍵之例項程式碼:
1 private void ***_KeyDown(object sender, KeyEventArgs e) 2 { 3 if (e.KeyCode == Keys.F && e.Control) 4 { 5 button1.PerformClick(); //執行單擊button1的動作 6 } 7 }
C# button快捷鍵之注:
1、***代表窗體名稱,大家可以看一下 ”Keys”的列舉引數,以實現自己需要
2、還有一個問題,當使用Ctrl + *快捷鍵時,對於焦點在可寫的控制元件(如TextBox)上時,可能會將* 鍵值同時輸入,則需要加另一句話將Handled設定為true,以取消 KeyPress 事件。即
private void ***_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.F && e.Control) { e.Handled = true; //將Handled設定為true,指示已經處理過KeyPress事件 button1.PerformClick(); } }
C# button快捷鍵之第三種方法
還是以button為例。給form新增一個contextMenuStrip1,將其邦定到button上,假設為button1。給contextMenuStrip1新增一個item,然後為它設定快捷鍵(就是你想加在button上的快捷鍵),並且將它的Visible屬性設為false。這樣,C#button快捷鍵設定成功。