我使用的代码是这样的:
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中验证字母时如何允许退格和空格?
退格的字符代码为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
时停止评估。