今天做東西遇到要給按鈕添加快捷鍵。就在這介紹三種添加快捷鍵的方式。
第一種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);
}
}
