C#給Winform的button等控件添加快捷鍵三種方法


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

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

 

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

    在WinForm中設置要使用組合鍵的窗體的KeyPreview(向窗體注冊鍵盤事件)屬性為True;

然后使用窗體的KeyDown事件(在首次按下某個鍵時發生).

實例代碼:

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();    

    }

}

 

第三種:

    還是以button為例。給form添加一個contextMenuStrip1,將其邦定到button上,假設為button1。給 contextMenuStrip1添加一個item,然后為它設置快捷鍵(就是你想加在button上的快捷鍵),並且將它的Visible屬性設為 false。這樣,button1的快捷鍵設置成功。


免責聲明!

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



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