确保教科书不允许按字母键按..

时间:2018-02-15 15:14:16

标签: c# validation textbox

我似乎有一个非常简单的问题,但不明白为什么它似乎不起作用。

我必须附加此功能的按键事件。

    void length_textbox_numeric_check(object sender, KeyPressEventArgs e)
    {
        if ((char.IsNumber(e.KeyChar)) && (char.IsControl(e.KeyChar)) )
        {
            e.Handled = true;
        }
        else
        {
            e.Handled = false;
        }
    }

它同时接受字符,数字和空格等等......但根据代码它应该只接受数字和退格吗?那为什么还要接受信件?

2 个答案:

答案 0 :(得分:1)

基于@BlakeThingstad评论。这解决了它。

   void length_textbox_numeric_check(object sender, KeyPressEventArgs e)
    {
        if (!(char.IsNumber(e.KeyChar)) && !(char.IsControl(e.KeyChar)) )
        {
            e.Handled = true;    // Handled states whether it should handled
                                 // normally (true) or differently (false) 
        }
        else
        {
            e.Handled = false;
        }
    }

答案 1 :(得分:0)

您想要压制KeyPress。不知道你听了哪个事件。我会去KeyDown:

FirstOrDefault