實(shí)現(xiàn)方法 C# button快捷鍵
本文講解了三種方法實(shí)現(xiàn)C# button快捷鍵,如Alt + *(按鈕快捷鍵),Ctrl+*及其他組合鍵等。
C# button快捷鍵之***種:Alt + *(按鈕快捷鍵)
在大家給button、label、menuStrip等控件設(shè)置Text屬性時(shí)在名字后邊加&鍵名就可以了,比如button1.text= "確定(&O)"。就會(huì)有快捷鍵了,這時(shí)候按Alt+O就可以執(zhí)行按鈕單擊事件。
C# button快捷鍵之第二種:Ctrl+*及其他組合鍵
在WinForm中設(shè)置要使用組合鍵的窗體的KeyPreview(向窗體注冊(cè)鍵盤事件)屬性為True;
然后使用窗體的KeyDown事件(在***按下某個(gè)鍵時(shí)發(fā)生).
C# button快捷鍵之實(shí)例代碼:
- private void ***_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.F && e.Control)
- {
- button1.PerformClick(); //執(zhí)行單擊button1的動(dòng)作
- }
- }
C# button快捷鍵之注:
1、***代表窗體名稱,大家可以看一下 ”Keys”的枚舉參數(shù),以實(shí)現(xiàn)自己需要
2、還有一個(gè)問題,當(dāng)使用Ctrl + *快捷鍵時(shí),對(duì)于焦點(diǎn)在可寫的控件(如TextBox)上時(shí),可能會(huì)將* 鍵值同時(shí)輸入,則需要加另一句話將Handled設(shè)置為true,以取消 KeyPress 事件。
即:
- private void ***_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.F && e.Control)
- {
- e.Handled = true; //將Handled設(shè)置為true,指示已經(jīng)處理過KeyPress事件
- button1.PerformClick();
- }
- }
C# button快捷鍵之第三種方法
還是以button為例。給form添加一個(gè)contextMenuStrip1,將其邦定到button上,假設(shè)為button1。給contextMenuStrip1添加一個(gè)item,然后為它設(shè)置快捷鍵(就是你想加在button上的快捷鍵),并且將它的Visible屬性設(shè)為false。這樣,C# button快捷鍵設(shè)置成功。
【編輯推薦】