C# 實現快捷鍵幾種方法


本文講解了三種方法實現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的動作  

}  

} 

 

 

    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快捷鍵設置成功。

    四、C# button快捷鍵之第四種方法

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
  if (keyData == (Keys.Escape))
 {
      this.Close();
 }

 return base.ProcessCmdKey(ref msg, keyData);
}

 


免責聲明!

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



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