winform里面我在窗体里面按CTRL+Enter,就可以运行Button事件!

解决方案 »

  1.   

    窗体的KeyPreview属性设为True
    然后:
    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Return && e.Control)
        {
            button1.PerformClick();
        }
    }以上需要VS2005
      

  2.   

    如果你当前的控件是TextBox,那么你按下Ctrl+Enter本身就会被TextBox接受到并换一行
    如果你想避免这种情况,就在TextBox_KeyDown事件里处理:
    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Return && e.Control)
        {
            e.Handled = true;
        }
    }
      

  3.   

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
     if(msg.Msg == 256 && keyData == (System.Windows.Forms.Keys.Control | Keys.Enter) )
            {
                this.btn_send_Click(new object(),new System.EventArgs());
                return true; 
            }
            return base.ProcessCmdKey (ref msg, keyData);
    }