Я пытаюсь ограничить определенные языковые символы на MaskedTextBox
.
Например, мне нужно только принять «3x арабский алфавит» вместо английских символов ASCII.
Я пробовал обе маски (L L L
) и (& & &
)
Код применяется следующим образом:
Private Sub txtLetters_AR_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtLetters_AR.KeyPress
Select Case e.KeyChar
Case ChrW(Keys.Enter)
SendKeys.SendWait("{TAB}")
Case ChrW(Keys.Back), ChrW(Keys.Delete), ChrW(Keys.Space)
'nothing
Case Else
If IsEnglish(e.KeyChar) = True Then
e.Handled = True
Else
e.Handled = False
End If
End Select
End Sub
Функция IsEnglish, имеющая следующий код:
Public Function IsEnglish(ByVal key As Char) As Boolean
Select Case key
Case "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X", "C", "V", "B", "N", "M", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m"
Return True
Case Else
Return False
End Select
End Function
Есть идеи, как этого достичь? Спасибо.