實現方法 C# button快捷鍵

ZZZZW發表於2015-04-22

本文講解了三種方法實現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快捷鍵設定成功。

 

相關文章