Проверка формата времени - PullRequest
0 голосов
/ 17 ноября 2011

Пользователь, вводящий значение времени в текстовом поле с маской

Например

Время ввода пользователя, например, 08:00 (ЧЧ: ММ)

Пользователь вводит время, например, 28:00 (ЧЧ: ММ), текстовое поле не должно принимать это значение. Потому что он должен принимать от 00 до 23 (ЧЧ) и от 00 до 59 (ММ).

Как это сделать.

Ответы [ 3 ]

1 голос
/ 17 ноября 2011

Почему бы не использовать DateTimePicker вместо MaskedTextBox? DateTimePicker был специально разработан для того, чтобы позволить пользователю вводить значения времени. Установите CustomFormat на «ЧЧ: ММ»

1 голос
/ 17 ноября 2011

Посмотрите на Validate Event - вы можете проверить значение в этом событии и исправить его или ошибку соответствующим образом (в зависимости от того, какой пользовательский опыт вы хотели бы)

Private Sub txtDate_Validate(Cancel As Boolean)
    If Not IsDate(txtdate.Text) Then
        'fix it here OR
        Cancel = True 'don't allow the input
    End If
End Sub
0 голосов
/ 17 ноября 2011

Я не знаю, как заставить замаскированное текстовое поле для диапазона проверить значения, поскольку его нельзя проверить с помощью строки формата.Однако вы можете использовать функции IsDate () и / или CDate () для проверки и преобразования в действительную дату / время.

?isdate("08:00")
True
?cdate("08:00")
08:00:00 
?isdate("28:00")
False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...