Используйте событие KeyPress
или KeyDown
(возможно, проще использовать KeyPress
), чтобы указать, какие символы могут быть добавлены.
В приведенном выше случае вы должны контролировать диапазон символов на основе длины строки в поле.
- Первый символ должен быть цифрой (проверьте для ascii
0
на 9
) - Второй символ может быть цифрой или
\
- Если второй символ является цифрой, добавьте для них
\
!
Этот шаблон повторяется для следующего блока цифр.Последний блок цифр может состоять из 2 или 4 цифр.
Редактировать : У меня есть блоки в обратном порядке от OP.Первый блок принимает только 4 цифры, за которыми следуют \
и два других блока, как описано выше.Но концепция все та же, используйте событие Key*
для управления тем, что можно вводить, основываясь на том, какая строка уже находится в TextBox.
Не включайте кнопку «ОК», если строка не завершена.Это означает, что только в третьем цифровом блоке, и только в том случае, если в цифровом блоке есть 2 или 4 цифры.
Кнопка «Отмена» всегда включена, поэтому они могут сбежать в любое время.Приведенный выше подход не гарантирует действительную дату (если это именно то, что вам нужно), поэтому перед включением кнопки «ОК» требуются дополнительные проверки.
Использование вышеуказанного подхода и недопущение принятия пользователем недействительногочисло означает меньше проверки ошибок в вашем другом коде!
Конечно, вы также можете использовать DateTimePicker!