這里的快捷鍵並非系統全局快捷鍵。僅是普通的當窗體在焦點內是發生。有很多種方法,這里列舉幾種項目中使用到的方法。
Alt+*(一般控件快捷鍵)
這個比較簡單,只需為該控件的Text屬性聲明時加上”(&A)”,”(&D)” 之類的標識,例如一個Button按鈕的Text屬性為:this.btnOK.Text=”確定(&A)”;
Ctrl+*(組合鍵)
當在某個窗體上按下一個組合鍵時發生。常用的如:打印(Ctrl+P),保存(Ctrl+S)…等等。
首先需設置窗體的KeyPreview(確定窗體上控件的鍵盤事件是否已向窗體注冊)屬性設置為True
然后只需在窗體的KeyDown事件中做相應業務處理。
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == Keys.P) && e.Control)
PrintToolStripMenuItem.PerformClick();
}
這里,如果要激活某個Button按鈕事件,有三種寫法:
btnOK.PerformClick();//執行該控件的Click事件
InvokeOnClick(btnOK,null);//為指定的控件引發Click事件
btnOK_Click(null,null);//直接調用按鈕的Click事件,參數都為null