Вы хотите запретить ввод, который не разрешен, или подтвердить ввод, прежде чем можно будет продолжить?
Первый может запутать пользователей, когда они нажимают клавиши, но ничего не происходит. Обычно лучше показывать их нажатия клавиш, но отображать предупреждение о том, что ввод в настоящее время недействителен. Вероятно, это также довольно сложно настроить, например, для маскировки регулярного выражения адреса электронной почты.
Посмотрите на ErrorProvider , чтобы позволить пользователю вводить то, что он хочет, но отображать предупреждения при вводе.
Для вашего первого предложения текстового поля, которое допускает только цифры, вы также можете рассмотреть NumericUpDown .