private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if((e.KeyChar>='0'&&e.KeyChar<='9')||(e.KeyChar>='A'&&e.KeyChar<='Z')||(e.KeyChar>='a'&&e.KeyChar<='z')) e.Handled=false; else e.Handled=true; }
有些情况下,在开发WinForm的时候希望TextBox中只能数字而不能输入其他字符,其实还是比较容易做到的,可能方法很多,下面说说我个人的一种方法。
首先先把代码贴出来:
private void txtNumber_KeyPress(object sender, KeyPressEventArgs e) { if (char.IsDigit(e.KeyChar)||((int)e.KeyChar)==8)//8为Backspac所对应的ascii { //表示:该事件尚未处理,事件会继续处理 e.Handled = false; } else { //表示:该事件已经处理过了,事件就不会在响应去处理了 e.Handled = true; MessageBox.Show("请输入数字!"); } }
然后再来解释下:首先是创建一个对TextBox(txtNumber) 增加一个KeyPress事件响应,当每按完一个键盘键时将响应该事件。
然后再通过char.IsDigit来判断键入的字符是否为数字,如果是,则设置e.Handled为false,即数字可以输入到TextBox中,当然当按下Backspace时 要响应删除事件,不然输入错了可删除不了了哦!
好吧,大概流程就是这样了!
posted on 2012-04-16 10:14 SkyDream 阅读(3508) 评论(0) 编辑 收藏 所属分类: C# WinForm
Powered by: BlogJava Copyright © SkyDream