Как пропустить ввод в текстовые поля в C #? - PullRequest
0 голосов
/ 18 января 2012

Я хочу расширить класс из компонента TextBox C # и переопределить метод «On [Event]», чтобы проверить ввод ввода в текстовое поле и пропустить некоторые ключи, которые будут введены в текстовое поле. Я ищу что-то вроде этого (следующий код не является решением!):

    public class NumText : TextBox
    {
         protected override void OnKeyDown(KeyEventArgs e)
         {
              if (e.KeyValue >= 48 && e.KeyValue <= 57)
                  base.OnKeyDown(e);
         }
    }

Ответы [ 2 ]

1 голос
/ 18 января 2012

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

this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this_onKeyPress);

private void this_onKeyPress(object sender, KeyPressEventArgs e)
{
     if (e.KeyValue >= 48 && e.KeyValue <= 57)
        e.Handled = true;
}
1 голос
/ 18 января 2012

Использовать KeyEventArgs.Handled Свойство.

Цитировать статью MSDN:

true, чтобы обойти обработку элемента управления по умолчанию;в противном случае false также для передачи события обработчику элемента управления по умолчанию.

...