C# WinForm給Button或其它控件添加快捷鍵響應


今天做東西遇到要給按鈕添加快捷鍵。就在這介紹三種添加快捷鍵的方式。

 

第一種Alt + *(按鈕快捷鍵)

在大家給button、label、menuStrip等控件設置Text屬性時在名字后邊加&鍵名就可以了,比如button1.text= "確定(&A)"。就會有快捷鍵了,這時候按Alt+A就可以執行按鈕單擊事件。

 

第二種Ctrl+*及其他組合鍵  

在WinForm中設置要使用組合鍵的窗體的KeyPreview(向窗體注冊鍵盤事件)屬性為True;然后使用窗體的KeyDown事件(在首次按下某個鍵時發生).  

實例代碼:  

private void 窗體名字_KeyDown(object sender, KeyEventArgs e)  

{   

  if (e.KeyCode == Keys.F && e.Control)

  {  

    button1.PerformClick(); //執行單擊button1的動作

  }    

}    

注:大家可以看一下 ”Keys”的枚舉參數,以實現自己需要 

當使用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();    

  }    

}  

 

第三種 窗體的keydown事件響應回車添加快捷鍵

private void 窗體名稱_KeyDown(object sender, KeyEventArgs e)  

{  

  if (e.KeyCode == Keys.Enter)  

  {  

    Button_Click(sender, e);  

   }  

}  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM