快捷鍵是很多軟件的常用功能,本文實例講解了三種方法來實現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快捷鍵實例代碼如下:
private void ***_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.F && e.Control) { button1.PerformClick(); //執行單擊button1的動作 } }
此處注意:
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快捷鍵設置成功。
四、C# button快捷鍵之第四種方法
protected override bool ProcessCmdKey(ref Message msg, Keys keyData){ if (keyData == (Keys.Escape)) { this.Close(); } return base.ProcessCmdKey(ref msg, keyData);}
希望本文所述方法對于大家的C#程序設計能夠起到一定的借鑒與幫助作用。
新聞熱點
疑難解答