c# winfrom程序中 enter键关联button按钮


1,关联按钮上的Key事件
 
  
 
      在按钮上的keypress,keydown,keyup事件必须要获得焦点,键盘上的键才能有效。
 
      private void btnEnter_KeyDown( object sender, KeyEventArgs e)
         {
           
             if (e.KeyCode == Keys.Enter) //如果输入的是回车键
             {
                 this .btnEnter_Click(sender, e); //触发button事件
             }
         }
 
   只有btnEnter获得焦点后,回车才有效。 //PS:貌似按钮获得焦点后,会自己响应回车
 
  
 
  
 
  
 
  
 
2,窗体上的Key事件
 
  
 
  private void frm_test_KeyPress( object sender, KeyPressEventArgs e)
         {
             if ((Keys)e.KeyChar == Keys.Escape) {
                 buttonESC_Click(sender,e);
             }
         }
这个时候发现,按键盘上的Esc键还是没有反应。
 
  
 
还需要在窗体上注册控件的键盘事件,把窗体的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是退出按钮
         }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值