问一个问题:我要实现一个功能:用户按下一个按键(不是按钮,是键盘上的按键),窗体上的对应按钮响应一下(按钮上的点击事件也执行一次)。怎么办?
注:请不要让我把点击事件的代码复制到key_down事件里。这样当然行的通,但是做法太幼稚。
听说可以给按钮建快捷方式,行吗?怎么建?但是又好像不行哦,快捷方式都是两个以上的键。
或者您提供其它的解决方法。谢谢

解决方案 »

  1.   


    看你说的挺幼稚!为什么说这是键盘驱动,摆明的你就是要模拟键盘。代码不放KEY_DOWN事件里执行,难道你要用API执行键盘消息么?
      

  2.   

    public void num_proform(string sender_str)
    {/////这里是对按钮事件的具体实现内容
    }private void num_button_Click(object sender, EventArgs e)
    {num_perform(sender.tostring());
    }private void mainform_KeyDown(object sender, KeyEventArgs e)
    {
    if(e.keycode==数字键)
    num_perform(e.keycode.tostring());
    }
    //初步测试,这种方法虽然低级,还是行的通的.还有没有其它的办法?赶快来发表啦.我快要结帖啦
      

  3.   


           private void mainform_KeyDown(object sender, KeyEventArgs e) 
           { 
              if((e.keycode==a))
              button1.PerformClick();
            }        private void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("OK");
            }
      

  4.   

    你说的不是热键吧,如(&O)之类的.如果是可以指定其Text属性时,加上&字母.(打开&O).
      

  5.   

     private void mainform_KeyDown(object sender, KeyEventArgs e) 
           { 
              if((e.keycode==a))
                button1_Click(this, new EventArgs());     
            }        private void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("OK");
            }