【WinForm】TextBox只能输入数字
程序员文章站
2022-06-08 17:34:18
...
记录学习过程
创建日期:2019-04-11
只能输入整数
方法一
private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
//如果输入的不是退格和数字,则屏蔽输入
if (!(e.KeyChar == '\b' || (e.KeyChar >= '0' && e.KeyChar <= '9')))
{
e.Handled = true;
}
}
e.KeyChar >= ‘0’ && e.KeyChar <= ‘9’ //表示输入的是数字
e.Handled = true; //true表示已经处理该事件,则屏蔽输入
方法二
private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
//如果输入的不是退格和数字,则屏蔽输入
if (!(e.KeyChar == 8 || (e.KeyChar >= 48 && e.KeyChar <= 57)))
{
e.Handled = true;
}
}
8代表退格,48代表0,57代表9,46代表小数点
方法三
private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
//如果输入的不是退格和十进制数字,则屏蔽输入
if (!(e.KeyChar == '\b' || char.IsDigit(e.KeyChar)))
{
e.Handled = true;
}
}
方法四
private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
//如果输入的不是退格且不能转为整数,则屏蔽输入
if (!(e.KeyChar == '\b' || int.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out int i)))
{
e.Handled = true;
}
}
只能输入小数
方法一
private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
//当前输入的是"."且(输入框已经有“.”或者文本框没有内容),则屏蔽输入
if (e.KeyChar == '.' && (((TextBox)sender).Text.IndexOf(".") != -1 || ((TextBox)sender).Text.Length == 0))
{
e.Handled = true;
}
//如果输入的不是退格、数字和点,则屏蔽输入
if (!(e.KeyChar == '\b' || (e.KeyChar >= '0' && e.KeyChar <= '9') || e.KeyChar == '.'))
{
e.Handled = true;
}
}
方法二
private void tb_KeyPress(object sender, KeyPressEventArgs e)
{
//如果输入的不是退格且不能转为小数,则屏蔽输入
if (!(e.KeyChar == '\b' || float.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out float f)))
{
e.Handled = true;
}
}