Как запретить ввод цифр или букв в textBox C#

Всем привет! Сегодня я покажу один из вариантов того, как можно реализовать запрет на ввод информации.

Думаю многие из вас сталкивались с тем что в программах невозможен ввод в поле имени, часть символов состоящих из цифры, Такое встречается только в играх, но в реальности то мы знаем, что такого быть не должно. А само имя или фамилия должно исключительно состоять только из букв.

В примере ниже рассмотрим запрет ввода цифр в текстбокс и запретим пользователю ввод прописных букв. Пример очень простой и занимает всего пару строк кода.

Как видим из кода у нас имеется TextBox с именем txt, у которого имеется событие PreviewTextInput. Внутри этого события, используем условии на проверку, введенный пользователем символ приводим к целочисленному типу, если это число то событие завершается, а символ не печатается в TextBox. Во втором условии, происходит проверка символа, в сравнении с нижним регистром этого же символа, если они равны, это будет означать, что пользователь ввел символ в нижнем регистре.

Следующий пример более сложный но более верный, так как он пропускает ввод запятой при чем одной и она не должна быть первой, и не встречаться в середине числа не сколько раз, да бы мы могли полученное число привести к вещественному типу. Для этого нам необходимо подписаться на события TextBox KeyPress и TextChanged

Таким образом мы рассмотрели два варианта из множества, как можно сделать контроль ввода пользователем в текстовое поле, и фильтровать ввод. 

Обновлено: 21.10.2021 — 15:39

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.