当前位置:编程学习 > C#/ASP.NET >>

textbox1按下回车光标跳转到textbox2

这是一个很菜的问题,本人上网找了很多资料,但都没找到一个真正解决的方法。
感觉KEYPRESS没被触发一样。TEXTBOX1写好后,按回车,KEYPRESS语句根本没有执行。
请教一下大家,这是什么原因。
--------------------编程问答-------------------- 有个地方可以设置的,默认是Tab但是你可以设置成Enter的时候光标移动! --------------------编程问答-------------------- me.keypreview = true --------------------编程问答-------------------- 在哪设置啊?我没找到。 --------------------编程问答-------------------- 我用了me.keypreview = true 这个问题,我早想到了,但还是没用。我靠。 --------------------编程问答--------------------
引用 3 楼 caicai2009 的回复:
在哪设置啊?我没找到。

窗体属性。 --------------------编程问答-------------------- keypress的对象选对了没?Form可以有keypress,textbox可以有keypress,其他好多控件都可以响应按键事件。我刚才试了一下,新建一个winform工程,在界面上拖一个textbox,然后在textbox的keypress事件中写如下代码:
MessageBox.Show(e.ToString());
运行后事件能正确触发。 --------------------编程问答-------------------- 设置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}");
            }
        }
--------------------编程问答-------------------- 其实,我本意就是想,输入用户名后,直接按回车键,光标就能直接到输入密码的框子里了,这样省的用鼠标点了,节约时间,但为这问题,我上网找了无数的代码,都没反应。我感觉这不是一个难题啊,肯定哪里出错了。 --------------------编程问答--------------------
 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                this.textBox2.Focus();
            }           
        }
--------------------编程问答-------------------- 那用 keydown 事件 试试
--------------------编程问答-------------------- 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,按下回车,一点反应都没有,是不是我代码贴错位置了?? --------------------编程问答--------------------    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
   {

       if (e.KeyChar == (char)13)
       {
..............
       }

    } --------------------编程问答-------------------- 楼上帮助我的人,今天非常感谢大家了,我刚刚研究了一下,终于发现问题出哪了,我一开始就以为是代码出了问题,但我忘记了一个最重要的地方,就是点击窗口FORM,右下角个有属性区,点击一个小闪电图标,我选中KEYPRESS,再下拉选择了刚刚写的事件textBox1_KeyPress,然后再运行程序,就OK了。看来,我的基础很差,得好好学习。 --------------------编程问答-------------------- 。。。
代码经过本人检测没问题!
我还以为你键盘坏了!
--------------------编程问答-------------------- 非常感谢楼主,找了半天都不知道什么原因,原来是那个小闪电!! --------------------编程问答--------------------         private void txtAddress_KeyPress(object sender, KeyPressEventArgs e)
        {
            this.txtPhoneNum.Focus();
        }

        
--------------------编程问答--------------------

            
        private void txtAddress_KeyPress(object sender, KeyPressEventArgs e)
        {
            this.txtPhoneNum.Focus();
        }
--------------------编程问答-------------------- 这需求..  一般用惯电脑的人都是TAB键换 然后回车键输入  --------------------编程问答-------------------- 用Keydown事件吧   
判断一下  
if(e.KeyCode == 13)
SendKeys.SendWait("+{TAB}"); --------------------编程问答-------------------- 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}");
            }
        }

这两种方法都可以 --------------------编程问答--------------------

      private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) 
            {
                textBox2.Focus();
            }
        }
 
--------------------编程问答-------------------- EnterToNextControl =true --------------------编程问答--------------------
引用 9 楼 ds252743641 的回复:
C# code?1234567 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)        {            if (e.KeyChar == 13)            {                this.textBox2.Focus();            }……
+1
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,