如果只是一个,就在 keypress里面写。
如果是多个,建议重写个控件
  protected override void OnKeyPress(KeyPressEventArgs e)
        {
            base.OnKeyPress(e);          if (((keyChar >= 48 && keyChar <= 57)) || keyChar == 8)
            e.Handled = false;
            else
                 e.Handled = true;
}

解决方案 »

  1.   

    应该这样,我在网上找到的是 if (e.KeyChar <= '0' || e.KeyChar >= '9')
                {
                    e.Handled = true;
                    return;            }
                else
                {
                    MessageBox.Show("请输入数字");
                    return;
                }
    觉得不好用
      

  2.   

      if (e.KeyChar <= '0' || e.KeyChar >= '9')
                {
                    e.Handled = true;
                    return;            }
                else
                {
                    MessageBox.Show("请输入数字");
                    return;
                }
    我刚开始用的是这个
      

  3.   

    Regex reg = new Regex("[0-9]{n}"); //n就是你要限制的长度
    if (!reg.IsMatch(txt.Text))           
      Console.WriteLine("bu shi shu zhi");
    else
      return;
      

  4.   

    Regex   reg   =   new   Regex("[0-9]{1,n}");   //n就是你要限制的长度 
    if   (!reg.IsMatch(txt.Text))                       
        Console.WriteLine("bu   shi   shu   zhi"); 
    else 
        return;
      

  5.   

    if((key is int )&& (key.length == 长度))
      

  6.   

    哦,就是,楼上的都解答了
    Regex       reg       =       new       Regex("[0-9]{1,n}");       //n就是你要限制的长度   
    if       (!reg.IsMatch(txt.Text))                                               
            Console.WriteLine("bu       shi       shu       zhi");   
    else   
            return;
    比较新意
      

  7.   

    foreach(char c in xxx.Text)
    {
        if(Char.IsNumberFormat(c))
        {
           xxxx
        }
    }
      

  8.   

     if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13)
                {
                    MessageBox.Show("只能输入数字", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    e.Handled = true;
                }
    //至少要保留BACKSPACE吧