我想知道是否无论如何都要模拟输入PaysSafeCard引脚时会发生什么。 PaySafeCard引脚有4个文本框,每个长4个数字。填充后每一个都会自动标记到下一个。我想做的就是在vb.net中这样做,所以我不必每次都手动按Tab键。我给了它一些想法,但我找不到检查文本框是否已达到其maxLength的命令,因此它Tabs到下一个。 希望我让自己理解:| ,谢谢你的时间。
答案 0 :(得分:1)
有点宽泛,但我有点无聊。
是的,您可以在每次更改时检查TextBox.Text属性的长度。使用TextChanged
事件。如果长度> = 4,则您想要移动到下一个TextBox。
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text.Length >= 4 Then TextBox2.Focus()
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
If TextBox2.Text.Length >= 4 Then TextBox3.Focus()
End Sub
Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
If TextBox3.Text.Length >= 4 Then TextBox4.Focus()
End Sub
在我的例子中有4个TextBox,编号为1到4.它有点硬编码,但只适用于4个TextBox。
这也增加了一种不错的感觉,所以如果你输入一个已有文字的TextBox,它就会被选中。
Private Sub TextBox_Enter(sender As Object, e As EventArgs) Handles TextBox1.Enter, TextBox2.Enter, TextBox3.Enter, TextBox4.Enter
DirectCast(sender, TextBox).SelectAll()
End Sub
希望这有帮助