日期:2014-05-18 浏览次数:21000 次
        //下面的示例确定用户是否按下了非数字键,如果是,则通过使用 Handled 属性取消 KeyPress 事件。
        private bool nonNumberEntered = false;
        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            nonNumberEntered = false;
            if ((e.KeyCode < Keys.D0) || (e.KeyCode > Keys.D9 && e.KeyCode < Keys.NumPad0) || (e.KeyCode > Keys.NumPad9))
            {
                if (e.KeyCode != Keys.Back)   
                {
                    nonNumberEntered = true;
                }
            }
        }
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (nonNumberEntered)
            {
                e.Handled = true; 
            }
        }
        ---------------------------------------------------------
------解决方案--------------------
自定义控件,继承TextBox。
我写一个,代码长,不让发。
------解决方案--------------------
楼主可以用javascript  判断..
------解决方案--------------------
C#  code
private   void   textBox6_KeyPress(object   sender,   System.Windows.Forms.KeyPressEventArgs   e)  
 {  
         if((int)e.KeyChar>=48&(int)e.KeyChar<=57|(int)e.KeyChar==8)  
         {  
   e.Handled=false;  
         }  
         else  
       {  
 e.Handled=true;  
       }  
  
 }  
------解决方案--------------------
上面只是考虑了输入,如果运用了复制粘贴,是不是都没有进行过滤,还得加上这个才是完善的解决吧
------解决方案--------------------
validating的时候验证,用正则表达式判断
------解决方案--------------------
也可以用Checked检查一下你输入的格式,如下 整型
protected void btnCal_Click(object sender, EventArgs e)
    {
        try
        {
            checked { int nInput = int.Parse(tbInput.Text); }
            
        }
        catch (FormatException)//输入字符格式错误异常处理
         {
            Response.Write("要输入整数!");
        }
        
        
    }
------解决方案--------------------
   private void textBox1_TextChanged(object sender, EventArgs e)
       {
           string strInput = this.textBox1.Text.ToString();
           string strRegex = @"^\d+$";
           if (!Regex.IsMatch(strInput, strRegex))
           {
              this.textBox1.Text = string.Empt;