我使用的代码是:
If Asc(e.KeyChar) < 65 Or Asc(e.KeyChar) < 90 _
And Asc(e.KeyChar) < 97 Or Asc(e.KeyChar) > 122 Then
MessageBox.Show("Please enter letters only")
e.Handled = True
End If
如何在VB中验证字母时允许退格和空格?
答案 0 :(得分:2)
退格的字符代码为8,空格的字符代码为32,因此您的代码应为:
If (Asc(e.KeyChar) < 65 OrElse Asc(e.KeyChar) < 90) _
AndAlso (Asc(e.KeyChar) < 97 OrElse Asc(e.KeyChar) > 122) _
AndAlso Asc(e.KeyChar) <> 8 AndAlso Asc(e.KeyChar) <> 32 Then
MessageBox.Show("Please enter letters only")
e.Handled = True
End If
请注意,我使用了AndAlso
,以便在遇到第一个False
时停止评估。