在WinForm中限制TextBox只能输入数字的问题
有些情况下,在开发WinForm的时候希望TextBox中只能数字而不能输入其他字符,其实还是比较容易做到的,可能方法很多,下面说说我个人的一种方法。
首先先把代码贴出来:
1 private void txtNumber_KeyPress(object sender, KeyPressEventArgs e)
2 {
3 if (char.IsDigit(e.KeyChar)||((int)e.KeyChar)==8)//8为Backspac所对应的ascii
4 {
5 //表示:该事件尚未处理,事件会继续处理
6 e.Handled = false;
7 }
8 else
9 {
10 //表示:该事件已经处理过了,事件就不会在响应去处理了
11 e.Handled = true;
12 MessageBox.Show("请输入数字!");
13 }
14 }
然后再来解释下:首先是创建一个对TextBox(txtNumber) 增加一个KeyPress事件响应,当每按完一个键盘键时将响应该事件。
然后再通过char.IsDigit来判断键入的字符是否为数字,如果是,则设置e.Handled为false,即数字可以输入到TextBox中,当然当按下Backspace时 要响应删除事件,不然输入错了可删除不了了哦!
好吧,大概流程就是这样了!