RT

解决方案 »

  1.   

    设置窗体的KeyPreview 为true
      

  2.   

    因为事件被button拦截了。
    你可以尝试着把焦点转移到窗体上试试看
      

  3.   

    我不是想响应button_keydown
    而就是keydown与button没有任何关系
      

  4.   

    进入窗体后可能是button 首先获得了焦点
    你点击窗体 然后再按键盘试试
      

  5.   

    重写wndproc过程,过滤掉鼠标的消息
    这个谁知道具体怎么实现啊
      

  6.   

    private void Form1_KeyDown(object sender, KeyEventArgs e)  
      {  
      switch (e.KeyCode)  
      {  
      case Keys.A: Button2_Click(sender, e); break;  
      case Keys.B: Button4_Click(sender, e); break;  
      default:break;
      }  
      }  
    performclick
    设置acceptbutton
    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
    {
      if (msg.WParam.ToInt32() == (int)Keys.Enter)
      {
      switch (ActiveControl.Name)
      {
      case "button1": return true;
      case "textBox1": return true;
      return true;
      }
      }
      return base.ProcessCmdKey(ref msg, keyData);
    }
      

  7.   

    恰好在我的程序里mousedown和keydown都有各自的任务
      

  8.   

    没怎么看懂并且没有ActiveControl。。能说的再详细点吗