2017-08-13 46 views
1

我想知道是否有反正當模擬PaysSafeCard引腳時發生的情況。 PaySafeCard引腳有4個文本框,每個文本框長4個數字。它們中的每一個填充時都會自動切換到下一個。我想要做的就是在vb.net中這樣做,所以我不必每次都手動按下Tab鍵。我給了它一些想法,但我找不到檢查文本框是否已達到其最大長度的命令,以便它選中下一個。 希望我讓自己明白:| , 謝謝你的時間。在達到最大長度後自動切換文本框

回答

1

種類繁多,但我很無聊。

是的,每次更改時都可以檢查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 

希望這有助於

+0

'在我的例子有4個文本框,編號從1到4.',我看到的只有三...;) – Codexer

+0

OP能夠合適地處理TextBox4。 '自動標籤到下一個'對於4號碼是未定義的 – djv

+0

非常感謝! – n0degg