Фильтрация ввода с клавиатуры в текстовом поле, C#

StackOverflow https://stackoverflow.com/questions/1036870

  •  10-07-2019
  •  | 
  •  

Вопрос

Я хочу фильтровать ввод с клавиатуры в текстовое поле в зависимости от разрешенного типа ввода.например

0 для цифр только 1 для алфавитов только 2 для алкоголики

Поэтому, если настроен 0 и на клавиатуре нажат символ «а», он не отображается в текстовом поле.Как мне это сделать на C#?

Спасибо

Это было полезно?

Решение

Вам необходимо подписаться на событие KeyPress элемента управления (и, возможно, метод KeyDown), и если нажатие клавиши должно быть съедено, установите обработано свойство истинно.Подробнее читайте в MSDN (с образцом, охватывающим вашу проблему).

Другие советы

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

вы можете использовать регулярные выражения.В соответствии с полученным пользователем вводом вы можете изменить метод регулярного выражения/проверки.ниже приведена статья, в которой объясняется, как расширить текстовое поле для проверки регулярных выражений.надеюсь, что это поможет хотя бы иметь некоторое представление.http://www.c-sharpcorner.com/UploadFile/scottlysle/RegExTextBox01022007150131PM/RegExTextBox.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top