用RangeValidator控件试试,或者到服务器端验证用户的输入。

解决方案 »

  1.   

    在TextBox的KeyPress事件中判断用户按下的键,例如只能输入0-9:private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
      if(e.KeyChar > '9' || e.KeyChar < '0') //判断是否按下了其他键
      {
        e.Handled = true; //清除按下的键
        //信息提示
      }
    }
      

  2.   

    RangeValidator有问题,第一个字符为数字就会认为全是数字(我这里试是这样).
    用规则表达式校验RegularExpressionValidator,如表达式(ValidExpression)为\d{0,10},可输入10个数字.
      

  3.   

    从TextBox只能获得字符串,因为无法预料你的数据格式和类型,所以,如果要做数据校验,刚只能由用户生校验逻辑。要想让系统帮你进行校验,只能采用别的数据控件。如ado dataset等和数据库有关的控件。并将其数据和你的控件关联。
      

  4.   

    to coldljy(凤舞N天):RangeValidator 不会啊,我用得好好的。RangeValidator结合其它校验控件一起使用,如果要校验很复杂的数据,可以使用CustomValidator
      

  5.   

    创建一个继承自TextBox的新类只接受数字class NumeralBox:TextBox
    {
      public NumeralBox()
      {
        this.CausesValidation=true;
        this.Validating+=new CancelEventHandler(TextBox_Validation);
      }  private void TextBox_Validation(object sender,CancelEventArgs ce)
      {
        try
        {
          int value=Int32.Parse(this.Text);
        }
        catch(Exception)
        {
          ce.Cancel=true;
          MessageBox.Show("Please Enter Numeric Value");
        }
      }
    }