Winform当达到一个文本框最大字符限制时立刻跳转到下一个文本框,如何实现

yw0903 2008-04-29 01:35:54
Winform窗体上现在有5个文本框,要求,只能输入2位数(1至30)。
前面一个输完,自动跳至下一个。
试了很久都不理想。请各位帮助一下。
能不能直接写个方法调用?
...全文
102 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
鲫瓜子 2012-02-27
  • 打赏
  • 举报
回复
楼上说的真好
baihe_591 2008-04-29
  • 打赏
  • 举报
回复
private void textBox1_TextChanged(object sender, EventArgs e)
{
TextBox text = (TextBox)sender;
if (text.Text.Length == 2)
{
TextBox text2 =new TextBox ();
text2 =(TextBox ) text.Parent .GetNextControl(text,true );
text2.Focus();
}
}

将textbox1-5的tab顺序设置为连续植。
textbox1-4添加同一个事件textBox1_TextChanged
yw0903 2008-04-29
  • 打赏
  • 举报
回复
好的。谢谢了。不胜感激
jackyzsy2008 2008-04-29
  • 打赏
  • 举报
回复
至于只能输入1-30的数字
用个正则限制下:rule = ^(([0-2]?[0-9]?)|([3]?[0]?))$

good luck
virusswb 2008-04-29
  • 打赏
  • 举报
回复
 private void textBox1_TextChanged(object sender, EventArgs e) 
{
if (this.textBox1.Text.ToCharArray().Length == this.textBox1.MaxLength)
{
this.textBox2.Focus();
}
}

textchange事件吧,然后让textbox2获得焦点,输入的内容就会在textbox2中显示
jackyzsy2008 2008-04-29
  • 打赏
  • 举报
回复

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (this.textBox1.Text.ToCharArray().Length == this.textBox1.MaxLength)
{
this.textBox2.Focus();
}
}
firein 2008-04-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 baihe_591 的回复:]
将maxlength设置为2
[/Quote]
baihe_591 2008-04-29
  • 打赏
  • 举报
回复
将maxlength设置为2
baihe_591 2008-04-29
  • 打赏
  • 举报
回复

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (this.textBox1.Text.Length == this.textBox1.MaxLength)
this.textBox2.Focus();
}
Kevin_LiuFeng 2008-04-29
  • 打赏
  • 举报
回复

private void textBox_TextChanged(object sender, EventArgs e)
{
if (textBox.Text.Length == 2)
{
其他控件.Focus();
}
}
Kevin_LiuFeng 2008-04-29
  • 打赏
  • 举报
回复
在文本框的TextChanged事件中写代码,当输入完两位时,光标移开.
sjm2003 2008-04-29
  • 打赏
  • 举报
回复
textbox.Appened("../n/r")不知道是不是这个形式,至于只能输入2位,那就判断一下

顶一个!

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧