textbox1按下回车光标跳转到textbox2 这是一个很菜的问题,本人上网找了很多资料,但都没找到一个真正解决的方法。感觉KEYPRESS没被触发一样。TEXTBOX1写好后,按回车,KEYPRESS语句根本没有执行。请教一下大家,这是什么原因。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有个地方可以设置的,默认是Tab但是你可以设置成Enter的时候光标移动! 我用了me.keypreview = true 这个问题,我早想到了,但还是没用。我靠。 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(); } } forms验证,登陆页验证码不显示 求字符串分割术... 借宝地人气,问一个问题 在编写com+组件遇到“分布式事务已完成。请将此会话登记到新事务或 NULL 事务中。” 用c#语言在winxp下创建管理员用户的问题! 在基窗口中用了new Bitmap() 运行没错,但他的继承窗口设计器出错了,不知道为什么 救命,自己用C#写CA证书的web申请页面遇到的问题. 关于汉字显示的问题 急!如何实现在VB6中调用C#写的组件(请思归等高人帮忙,不胜感激) 各位爷,快帮忙看一下,头都大了。 弹出层,为什么不能再frameset中运行? 写了一个socket接收信息的服务报错找不出原因?
MessageBox.Show(e.ToString());
运行后事件能正确触发。
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}");
}
}
{
if (e.KeyChar == 13)
{
this.textBox2.Focus();
}
}
{
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,按下回车,一点反应都没有,是不是我代码贴错位置了??
{ if (e.KeyChar == (char)13)
{
..............
} }
{
this.txtPhoneNum.Focus();
}
{
this.txtPhoneNum.Focus();
}
判断一下
if(e.KeyCode == 13)
SendKeys.SendWait("+{TAB}");
{
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();
}
}