由於工程項目需要,要在全屏Form中加上鍵盤ESC的響應,實現的效果就是:全屏中press鍵盤上的Escape鍵,程序結束。
原本覺得挺簡單的功能,卻搗鼓了一會兒才解決。大致總結一下步驟:
首先在form的designer下加上 this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form_KeyPress);
然後寫響應函數
[csharp]
private void Form_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Escape) {
Application.Exit();
}
}
private void Form_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Escape) {
Application.Exit();
}
}
這樣完成了之後,運行程序,發現form並沒有響應ESC。
還需要在form中將KeyPreview的屬性設置為True,如圖所示:
全部完成後,form正常響應ESC。