winform 窗体,上面有4个textbox输入框,怎么实现输入框自动跳到下一输入框。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 窗体,上面有4个textbox输入框,怎么实现输入框自动跳到下一输入框。相关的知识,希望对你有一定的参考价值。

winform 窗体,上面有4个textbox输入框,每个输入框输入8个字符(0~9,A~F),输入完8个字符后,怎么实现标自动跳转到下一输入框,怎么实现只能输入0~9,A~F里面的字符。

验证字符那部分的话,就自己写写吧,给你点提示就是在keypress事件中去写,
e.KeyChar > (char)47 && e.KeyChar < (char)58 这个就是数字的判断,A-F自己查查,一样的道理,
自动跳转的话,自己单独写一个void方法,参数就用(object sender, KeyPressEventArgs e)
每个文本框的事件都代理这个方法(上面的检测代码也就直接写在这里就可以了),
然后用switch去判断是哪个控件名,当控件的Text长度等于9的时候就焦点就跳到下一个控件上去
if(((TextBox)sender).Text.Length==9)

swith(((TextBox)sender).ToString())

case "TextBox1":

TextBox2.Focus();
break;



参考技术A 限制“只能输入0~9,A~F里面的字符”,这个需要你自己写校验函数来实现了。

输入完8个字符后,怎么实现标自动跳转到下一输入框
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If TextBox1.Text.Length = 8 Then
TextBox2.Focus()
End If
End Sub
参考技术B 使用模拟按键,模拟发送“tab”信号进行跳转
好像是sendKey吧。记不清了
参考技术C ///获取8个字符
string str="0123456789ABCDEF";
string s,txt
foreach(s in str)

if(s.length<9)

txt+=s;

textbox.text=txt.tostring();


//实现跳转
按钮事件

if(this.TextBox1.text.length==8)

textbox2.focus();

参考技术D private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

if(e.KeyChar=='9')//按tab建时 文本框2获得焦点

textBox2.Focus();

以上是关于winform 窗体,上面有4个textbox输入框,怎么实现输入框自动跳到下一输入框。的主要内容,如果未能解决你的问题,请参考以下文章

winform控件问题

winform 窗体退出前判断表单是不是修改过,窗体上的控件有很多个,TextBox,combox,datagridview

C# Winform 控件或窗体失去焦点时,获取键盘输入数据(我用winform获取另一个窗口的数据)

C#常用控件说明

winform 有一窗体,窗体上有一个textbox控件,当加载窗体时,光标就会出现在textbox中,要怎么实现呢?

C# winform 怎么让窗体接受条码扫描器的输入