验证字母时如何允许退格和空格?

问题描述 投票:0回答:1

我使用的代码是这样的:

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中验证字母时如何允许退格和空格?

.net vb.net validation backspace
1个回答
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时停止评估。

© www.soinside.com 2019 - 2024. All rights reserved.