我想实现这样一功能,当在textbox里按下ENTER键时,就执行BUTTON1_CLICK事件,我的代码如下,但结果并不理想,第一次按ENTER键时,并未执行BUTTON1_CLICK事件,再按一次才执行,代码如下,请高手指点,或者有其他更好的办法?        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = "你按下ENTER键。";
            this.textBox1.KeyDown -= new System.Windows.Forms.KeyEventHandler(this.button1_Click);
        }
        private void textBox1_KeyDown(object obj, System.Windows.Forms.KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.button1_Click);
            }
        }

解决方案 »

  1.   

    private void button1_Click(object sender, EventArgs e)
            {
                textBox1.Text = "你按下ENTER键。";
                this.textBox1.KeyDown -= new System.Windows.Forms.KeyEventHandler(this.button1_Click);
            }
            private void textBox1_KeyDown(object obj, System.Windows.Forms.KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    this.button1_Click(sender ,e);            
    }
            }
      

  2.   

    private void button1_Click(object sender, EventArgs e)
    {
        this.textBox1.Text = "你按下ENTER键。";
    }private void textBox1_KeyDown(object obj, System.Windows.Forms.KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
            this.button1_Click(sender ,e);
    }
      

  3.   

    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if(e.KeyChar.Equals((char)13))
    {
    //your work code here
    } }