0

我有两个 textBox 输入字段,它们只能是数字,限制为 7 位。但是,目标设备有一个带有共享数字小键盘的小键盘,可通过数字锁定键访问,因此键“E”兼作“1”。问题是启用数字锁后,退格/删除键不起作用,因此输入很困难……胖手指不断按错键,等等……

所以我想做的是在我输入时自动将“E”转换为“1”,将“R”转换为“2”等。我不想看到“E”然后是“1”,它必须看起来就像按下了数字锁。如果按下数字锁,它还必须接受 0..9。

将这些字符替换为:“ertdfgxcvERTDFGXCV0123456789”替换这些字符:“012345678901234567890123456789”

在 VB.net-2005 中是否有一种简单的方法可以做到这一点?

4

1 回答 1

0

你可以使用这个事件;

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    Dim counter As Integer = 0
    For Each c As Char In "ertdfgxcvERTDFGXCV"
        If e.KeyChar = c Then
            e.KeyChar = Chr(48 + counter)
        End If
        counter += 1
        If counter = 10 Then counter = 0
    Next

End Sub
于 2013-08-15T16:08:42.450 回答