有的时候需要验证文本框中输入的字符是否为数字,现在我找到了两种解决办法,和大家分享一下:
第一种,在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;
}
}
}