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 窗体退出前判断表单是不是修改过,窗体上的控件有很多个,TextBox,combox,datagridview
C# Winform 控件或窗体失去焦点时,获取键盘输入数据(我用winform获取另一个窗口的数据)