解决方案 »

  1.   

    直接
    int i=0;
    bool b=int.TryParse(TextBox.Text,out i);
      

  2.   

    如果允许小数,int改float或double
      

  3.   

    用正则会有个问题,你只能判断出输入的确实是个整数或小数,但是没法判断它的有效数字是否超过了float或double的表示范围
      

  4.   

    private string param1 = null;
    private string pattern = @"^[-+]?[0-9]+(\.[0-9]+)?$";
     private void textBoxParam1_TextChanged(object sender, EventArgs e)
    {
    Match m = Regex.Match(this.textBoxParam1.Text, pattern);   // 匹配正则表达式if (!m.Success)   // 输入的不是数字
                {
    this.textBoxParam1.Text = param1;   // textBox内容不变
    // 将光标定位到文本框的最后
                    this.textBoxParam1.SelectionStart = this.textBoxParam1.Text.Length;
    }
    else   // 输入的是数字
                {
    param1 = this.textBoxParam1.Text;   // 将现在textBox的值保存下来
                }
    }
      

  5.   

    关键是如果我输入的不是数字,数字这种字符串,运行就会出现bug,我想了一个笨方法,就是再弄一个textBox,输入数字,然后在程序里面加一个逗号