这是一个很菜的问题,本人上网找了很多资料,但都没找到一个真正解决的方法。
感觉KEYPRESS没被触发一样。TEXTBOX1写好后,按回车,KEYPRESS语句根本没有执行。
请教一下大家,这是什么原因。

解决方案 »

  1.   

    有个地方可以设置的,默认是Tab但是你可以设置成Enter的时候光标移动!
      

  2.   

    我用了me.keypreview = true 这个问题,我早想到了,但还是没用。我靠。
      

  3.   

    keypress的对象选对了没?Form可以有keypress,textbox可以有keypress,其他好多控件都可以响应按键事件。我刚才试了一下,新建一个winform工程,在界面上拖一个textbox,然后在textbox的keypress事件中写如下代码:
    MessageBox.Show(e.ToString());
    运行后事件能正确触发。
      

  4.   

    设置Form的KeyPreview = true;
    private   void   textBox1_KeyPress(object   sender,   System.Windows.Forms.KeyPressEventArgs   e)   
      {   
           if(e.KeyChar==(char)13)     
                textBox2.Focus();   
      }   

    private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    SendKeys.Send("{TAB}");
                }
            }
      

  5.   

     private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == 13)
                {
                    this.textBox2.Focus();
                }           
            }
      

  6.   

    那用 keydown 事件 试试
      

  7.   

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void Form1_Load(object sender, EventArgs e)
            {        }
            private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == 13)
                {
                    this.textBox2.Focus();
                }
            }
        }
    }
    是不是这样啊,我重新做个FORM,然后搞了2个TEXTBOX,然后把Form的KeyPreview = true;
    然后我直接把上楼的代码往里面一贴,运行了一下,我输完第一个TEXTBOX,按下回车,一点反应都没有,是不是我代码贴错位置了??
      

  8.   

       private void Form1_KeyPress(object sender, KeyPressEventArgs e)
       {       if (e.KeyChar == (char)13)
           {
    ..............
           }    }
      

  9.   

    楼上帮助我的人,今天非常感谢大家了,我刚刚研究了一下,终于发现问题出哪了,我一开始就以为是代码出了问题,但我忘记了一个最重要的地方,就是点击窗口FORM,右下角个有属性区,点击一个小闪电图标,我选中KEYPRESS,再下拉选择了刚刚写的事件textBox1_KeyPress,然后再运行程序,就OK了。看来,我的基础很差,得好好学习。
      

  10.   

            private void txtAddress_KeyPress(object sender, KeyPressEventArgs e)
            {
                this.txtPhoneNum.Focus();
            }
      

  11.   

            private void txtAddress_KeyPress(object sender, KeyPressEventArgs e)
            {
                this.txtPhoneNum.Focus();
            }
      

  12.   

    这需求..  一般用惯电脑的人都是TAB键换 然后回车键输入 
      

  13.   

    用Keydown事件吧   
    判断一下  
    if(e.KeyCode == 13)
    SendKeys.SendWait("+{TAB}");
      

  14.   

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyValue == (char)13)
                {
                    SendKeys.SendWait("+{TAB}");
                }
            }

            private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == (char)13)
                {
                    SendKeys.SendWait("+{TAB}");
                }
            }这两种方法都可以
      

  15.   


          private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter) 
                {
                    textBox2.Focus();
                }
            }