前言
在做WinForm开发的时候TextBox控件是我们最常用到的控件之一,但是有些情况我们在TextBox里面只想输入数字,像一些数量,货币金额等的值,如果输入了字母或汉字,保存到数据库里肯定会引发异常,这里就介绍一下怎么让TextBox只允许输入数字。
解决方法
代码实现
我们在自己增加的textBox控件中的KeyPress时间中输入如下代码
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { //判断按键是不是要输入的类型。 if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar !=46 ) e.Handled = true;
//小数点的处理。 if ((int)e.KeyChar == 46) //小数点 { if (textBox1.Text.Length <= 0) e.Handled = true; //小数点不能在第一位 else { float f; float oldf; bool b1 = false, b2 = false; b1 = float.TryParse(textBox1.Text, out oldf); b2 = float.TryParse(textBox1.Text + e.KeyChar.ToString(), out f); if (b2 == false) { if (b1 == true) e.Handled = true; else e.Handled = false; } } } }
这样就完美解决了TextBox只允许输入数字,并且加入了输入的数字是否正常的判断了。