本文轉自:http://www.cnblogs.com/xiaofengfeng/archive/2011/09/16/2178655.html
在按鈕上的keypress,keydown,keyup事件必須要獲得焦點,鍵盤上的鍵才能有效。 |
private void btnEnter_KeyDown( object sender, KeyEventArgs e) |
if (e.KeyCode == Keys.Enter) //如果輸入的是斷行符號鍵 |
this .btnEnter_Click(sender, e); //觸發button事件 |
只有btnEnter獲得焦點後,斷行符號才有效。 //PS:貌似按鈕獲得焦點後,會自己響應斷行符號 |
private void frm_test_KeyPress( object sender, KeyPressEventArgs e) |
if ((Keys)e.KeyChar == Keys.Escape) { |
buttonESC_Click(sender,e); |
還需要在表單上註冊控制項的鍵盤事件,把表單的KeyPreview屬性設定成 true ; |
3,還有一種更簡單的方法。網上搜的,還沒有測試,不知道是否可行。 |
Winform中的按鈕要響應斷行符號事件,是很簡單的事情!只要設定表單中的屬性設定一下就可以了! |
比如有登入表單(Form_Login),包含有兩個按鈕登入 (btnLogin)和退出(btnExit),想要登入 (btnLogin)響應斷行符號鍵,則設定表單(Form_Login)的屬性AcceptButton為btnLogin即可!即Form_Login.AcceptButton=btnLogin; |
同樣道理,設定表單(Form_Login)的屬性CancelButton為btnExit,就可以響應Esc鍵了!即Form_Login.CancelButton=btnExit; |
如果還是不明白應該加在什麼地方,我就舉例說明一下: |
private void Form3_Load( object sender, EventArgs e) |
Form_Login.AcceptButton = btnLogin; //btnLogin是登陸按鈕 |
Form_Login.CancelButton = btnExit; //btnExit是退出按鈕 |