在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时    要响应删除事件,不然输入错了可删除不了了哦!

好吧,大概流程就是这样了!

posted @ 2011-08-21 07:59  cuitsl  阅读(853)  评论(6编辑  收藏  举报
友情博客:大熊的外星球