日期:2014-05-17  浏览次数:20870 次

新手学习:textBox1的Keydown事件
C# code
private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key != Key.Back && e.Key < Key.D0 || e.Key > Key.D9 && e.Key < Key.NumPad0 || e.Key > Key.NumPad9)
            {
                e.Handled = true;
            }
        }


private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
            {
                e.Handled = true;
            }
        }


限制textBox1输入的仅为0~9的数字

Key、e.KeyChar下面出现红色波浪线,

提示:KeyEventArgs不包含"Key" "KeyChar"的定义 ......

需要用什么命名空间呢?

------解决方案--------------------
判断是不是数字,用char.IsDigit(e.KeyChar)

C# code

  private void textBox1_KeyDown(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }