Шаг 75 - Проверка данных пользователя используя фокус элемента

Мы создавая приложения обычно создаем формы. Эти формы могут содержать разные данные, как например эта.

gif/75_1.gif (3218 b)

И у нас есть необходимость проверять данные которые вводит пользователь. Например индекс должен всегда состоять из цифр. Одной из идей этой проверки является использование событий получения и потери фокуса. Основано это на том, что только один элемент в Windows фокус которого устанавливается курсором мышки. И обычно элементы управления позволяют обрабатывать эти события.

gif/75_2.gif (3563 b)

GotFocus  - 	получение фокуса ввода
LastFocus -	потеря фокуса ввода.

Вот теперь мы можем написать код, который будет проверять, что в первом поле в индексе находится число. Пишем код:

Private Sub Text1_LostFocus()
If Not IsNumeric(Text1.Text) Then
 MsgBox "введите индекс плиз.."
 Text1.SetFocus
End If
End Sub

Теперь мы просто не сможем уйти с этого поля пока не введен правильный номер.

gif/75_3.gif (3795 b)

Естественно нужно предусмотреть ситуацию если пользователь вообще передумает что то вводить. В данном варианте если пользовать так и не сможет ввести правильное число то программа просто закроется.

Private Sub Text1_LostFocus()
If Not IsNumeric(Text1.Text) Then
	rez = MsgBox("введите индекс плиз..", vbOKCancel, "Error")
	If (rez = vbCancel) Then
		End
	End If
	Text1.SetFocus
End If
End Sub

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.