如题,在控制台程序中提示输入 学生人数,只能输入数字 且不能为0,不使用报错的方式解决,能不能禁止输入字母或其他,就是除了按数字键,其他都没有反应!
求解
给出要求解决的代码
            Console.Write("请输入班级人数:   students=");
            int acount_students =Convert.ToInt32( Console.ReadLine());
student=           //只能输入数字

解决方案 »

  1.   

    private void txtmoney_KeyPress(object sender, KeyPressEventArgs e)
            {
                if ((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == 46 || e.KeyChar == 8)
                {
                    return;
                }
                else
                {
                    e.KeyChar = (char)Keys.None;
                    return;
                }
            }
      

  2.   

    private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
      {
       if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar))
       {
         e.Handled = true;
       }
      }
    或者
    private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
      {
       if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar))
       {
         e.Handled = true;
       }
      }
      

  3.   

    int acount_students;
    do
    {
        Console.WriteLine("请输入班级人数: students=");
    }while(!int.TryParse(Console.ReadLine(),out acount_students));
    //acount_students一定数字了
      

  4.   

    判断一下就行了
    using System.Text.RegularExpressions;
    bool isnum= Regex.IsMatch(Console.ReadLine(),@"^[1-9]\d*");