如何在C#中跳过键入文本框?

时间:2012-01-18 12:57:14

标签: c# .net winforms events keyboard-events

我想从C#的TextBox组件扩展一个类并覆盖“On [Event]”方法,以检查在文本框中输入的输入并跳过一些要在文本框中输入的键。我正在寻找这样的东西(以下代码不是解决方案!):

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

2 个答案:

答案 0 :(得分:1)

使用KeyEventArgs.Handled财产。

引用MSDN文章:

  

如果绕过控件的默认处理,则为true;否则,假到   还将事件传递给默认控件处理程序。

答案 1 :(得分:1)

好吧,不要覆盖事件,如果你需要阻止按下几个Key,请添加一个新事件。

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;
}