textbox只能输入数字 C# 文本框只能输入数字
大家好,如果您还对textbox只能输入数字不太了解,没有关系,今天就由本站为大家分享textbox只能输入数字的知识,包括C# 文本框只能输入数字的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
C#中如何限制Textbox控件中只能输入数字,要能用退格的
在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。
拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置e.Handled的值为true,就可以屏蔽输入。
1.判断是否为数字或Backspace,按下面这样写的话只能输入数字和Backspace,所以还得给代码添加些条件,还要能够输入小数点。
程序代码
if((kc< 48|| kc> 57)&& kc!= 8)
e.Handled= true
2.输入小数点。输入的小数要符合数字的格式,类似9.9.9这样的是不能够输入的。做法就是用float.TryParse来转换Textbox中之前和之后的值,然后比较两者的转换结果。具体的代码如下:
程序代码
if(kc== 46)//小数点
{
if(txtMoney.Text.Length<= 0)
e.Handled= true;//小数点不能在第一位
else
{
float f;
float oldf;
bool b1= false, b2= false;
b1= float.TryParse(txtMoney.Text, out oldf);
b2= float.TryParse(txtMoney.Text+ e.KeyChar.ToString(), outf);
if(b2== false)
{
if(b1== true)
e.Handled= true;
else
e.Handled= false;
}
}
}
VB文本框怎样限制只能输入数字值
1、新建一个标准EXE程序。
2、绘制界面,添加一个 Textbox控件,改名为 txbNumber。
3、编写代码。在代码窗口中,添加 txbNumber_KeyPress事件。
4、查ASCII码表,得到0的ASCII码是48。输入以下语句:
If KeyAscii< 48 Or KeyAscii> 57 Then KeyAscii= 0
这条语句用来判断输入的字符是否在0-9的范围,如果不在这个范围,就把这个输入的字符屏蔽掉。
5、但这么做会产生一个问题,就是使用BackSpace删除字符的时候,由于按键被屏蔽,无法删除。只要在上面的语句前在添加一条语句:If KeyAscii= 8 Then Exit Sub,意思是,如果按了BackSpace,就直接退出该过程,按键就不会被屏蔽了。
6、调试运行。按F5,在文本框中输入任意字符,可以看到只有数字能显示在文本框中。按退格键,字符也能正常删除。
7、如果输入的数字可能是小数,那么还要添加如下代码:
If KeyAscii= 46 And Not CBool(InStr(txbNumber,".")) Then Exit Sub
当输入小数点时,程序判断文本框中是否已有小数点(因为一个小数中不可能有多个小数点),如果没有小数点,则允许输入。
C# 文本框只能输入数字
代码如下:
调用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;
}
}
扩展资料:注意事项
C#文本框输入限制
//只能输入数字和小数点和退格键
private void txt_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;
}
}
//只能输入数字和退格键
private void txt_KeyPress(object sender, KeyPressEventArgs e)
{
if(!(Char.IsNumber(e.KeyChar))&& e.KeyChar!=(char)8)
{
e.Handled= true;
}
}
//限制输入只能为数字
private void txt_KeyPress(object sender, KeyPressEventArgs e)
{
if(!(Char.IsNumber(e.KeyChar))&& e.KeyChar!=(Char)8)
{
e.Handled= true;
}
}
//限制输入不能为中文和全角
private void txt_KeyPress(object sender, KeyPressEventArgs e)
{
int chfrom= Convert.ToInt32("4e00", 16);//范围(0x4e00~0x9fa5)转换成int(chfrom~chend)
int chend= Convert.ToInt32("9fa5", 16);
if(e.KeyChar>=(Char)chfrom&& e.KeyChar<=(Char)chend)
{
e.Handled= true;
}
if(e.KeyChar>=(Char)65281&(int)e.KeyChar<=(Char)65374)
{
e.Handled= true;
}
}
//限制输入只能输入数字和字母,退格键
private void txt_KeyPress(object sender, KeyPressEventArgs e)
{
if((e.KeyChar>='a'&& e.KeyChar<='z')||(e.KeyChar>='A'&& e.KeyChar<='Z')
||(e.KeyChar>='0'&& e.KeyChar<='9')||(e.KeyChar== 8))
{
e.Handled= false;
}
else
{
e.Handled= true;
}
}
c#怎么能text只允许输入数字
1.在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,
判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所
对应的keychar为48~57,小数点是46,Backspace是8,小数点是46。
2.输入小数点。输入的小数要符合数字的格式,类似9.9.9这样的是不能够输入的。做法就是用float.TryParse来转换Textbox中之前和之后的值,然后比较两者的转换结果。
在如下代码中,实现了控件textBox1中输入数字。
在控件textBox1中的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只能输入数字到此分享完毕,希望能帮助到您。