TextBox只能输入数字的两种解决办法

有的时候需要验证文本框中输入的字符是否为数字,现在我找到了两种解决办法,和大家分享一下:

第一种,在TextBox的KeyPress中判断:

private void txbSleep_KeyPress(object sender, KeyPressEventArgs e)
{     
     if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b'))           
    {               
        e.Handled = true;           
    }        
}  

 

 

第二种,重写CreateParams属性,需要注意的是,重写这个属性的类必须是一个派生类。源代码:

public class NumberTextBox : TextBox
  {
      private const int ES_NUMBER = 0x2000;
      protected override CreateParams CreateParams
      {
          get
          {
              //return base.CreateParams;

              CreateParams param = base.CreateParams;
              param.Style |= ES_NUMBER;
              //param.Caption = "只能输入数字";
              return param;
          }
      }
  }

你可能感兴趣的:(只能输入数字)