从百度知道里搜索到一条这样的帮助
http://zhidao.baidu.com/question/207116620.html
调用TextBox的KeyPress事件 private void txtUserId_KeyPress(object sender, KeyPressEventArgs e) { //如果输入的不是数字键,也不是回车键、Backspace键,则取消该输入 if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar!=(char)13 && e.KeyChar!=(char)8) { e.Handled = true; } }
但是他不能支持输入负数
所以我就把代码修改了一下
调用TextBox的KeyPress事件
private void ForceNumberInput(object sender, KeyPressEventArgs e)
{
//如果输入的不是数字键,也不是回车键、Backspace键,第一个输入不是负号,则取消该输入
if (!(Char.IsNumber(e.KeyChar)) && (e.KeyChar != (char)13) && (e.KeyChar != (char)8)
&& (!((((TextBox)sender).Text == "") && (e.KeyChar == (char)45))))
{
e.Handled = true;
}
}
另外可以修改TextBox的MaxLength参数就可以控制输入数字的个数了。