1
我想知道是否有反正当模拟PaysSafeCard引脚时发生的情况。 PaySafeCard引脚有4个文本框,每个文本框长4个数字。它们中的每一个填充时都会自动切换到下一个。我想要做的就是在vb.net中这样做,所以我不必每次都手动按下Tab键。我给了它一些想法,但我找不到检查文本框是否已达到其最大长度的命令,以便它选中下一个。 希望我让自己明白:| , 谢谢你的时间。在达到最大长度后自动切换文本框
我想知道是否有反正当模拟PaysSafeCard引脚时发生的情况。 PaySafeCard引脚有4个文本框,每个文本框长4个数字。它们中的每一个填充时都会自动切换到下一个。我想要做的就是在vb.net中这样做,所以我不必每次都手动按下Tab键。我给了它一些想法,但我找不到检查文本框是否已达到其最大长度的命令,以便它选中下一个。 希望我让自己明白:| , 谢谢你的时间。在达到最大长度后自动切换文本框
种类繁多,但我很无聊。
是的,每次更改时都可以检查TextBox.Text属性的长度。使用TextChanged
事件。如果长度> = 4,则要移至下一个文本框。
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个文本框,编号为1到4.它有点硬编码,但它只适用于4个文本框。
这也增加了一种不错的感觉,所以如果你输入一个已经有文本的文本框,它将被选中。
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
希望这有助于
'在我的例子有4个文本框,编号从1到4.',我看到的只有三...;) – Codexer
OP能够合适地处理TextBox4。 '自动标签到下一个'对于4号码是未定义的 – djv
非常感谢! – n0degg