Один из подходов, который необходимо рассмотреть, - это создание собственного TextBox, расширяющего стандарт TextBox
.Вы можете override
ряд свойств и методов, включая OnKeyPress
для обработки ввода пользователя.
Простой пример:
class MyTextBox : TextBox
{
protected override void OnKeyPress(KeyPressEventArgs e) {
if (e.KeyChar == '!') {
e.Handled = true;
}
base.OnKeyPress(e);
}
}
В этом примере TextBox
будет игнорировать ввод, когда пользователь вводит восклицательный знак.Вы будете использовать этот TextBox так же, как и стандартный элемент управления Winform TextBox
.
Вы можете использовать Intellisense в Visual Studio, чтобы увидеть, какие override
доступны.Просто начните создавать нового члена в классе, набрав «переопределить», и все переопределяемые члены появятся.
РЕДАКТИРОВАТЬ См. эту статью на codeproject.com дляпример.Элемент управления, представленный в статье, расширяет TextBox для специальной фильтрации нецифровых символов, но вы можете легко изменить его, чтобы отфильтровать символы, которые необходимо отфильтровать.
Еще один аргумент для использования пользовательского элемента управления: вы можете использовать его повторномежду проектами без необходимости перекодировать его каждый раз.