Как разрешить вводить в Text Box только цифры
Часто, для того, чтобы разрешить пользователю в
текстовом поле вводить только цифры,
используется проверка вводимого текста. Лучший
способ сделать такую проверку, это использовать
событие Change(). Однако, функция IsNumeric() имеет
некоторый недостаток. Например, если
использовать простую процедуру:
Private Sub Text1_Change()
If Not IsNumeric(Text1.Text) Then
Text1.Text = ""
End If
то если пользователь введёт число -333, то для
элемента управления это не будет являться числом,
так как начинается с тире. Следующая функция
исправляет этот недостаток:
Private Sub Text1_Change()
If Not ValidateNumeric(Text1.Text) Then
Text1.Text = ""
End If
End Sub
Private Function ValidateNumeric(strText As String) _
As Boolean
ValidateNumeric = CBool(strText = "" _
Or strText = "-" _
Or strText = "-." _
Or strText = "." _
Or IsNumeric(strText))
End Function
|