C# tools

发布时间 2023-10-20 16:23:51作者: Meou~
  1. 限制TextBox文本框输入格式(IP地址)
    主要思路:
    textBox有个KeyPress事件,事件是在控件具有聚焦点并且用户按下并释放某个键后发生。
    通过这个事件,用ASCII码与键盘输入的按钮进行判断,通过事件Handled手柄处理即可。

数字ASCII的十进制对应48-57,“.”对应46,还要有删除的功能就需要退格键,对应8。
先限制输入的只能是45-57的按钮以及8退格键的按钮,小数点不能在第一位。
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// 允许 数字,退格键;
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
{
e.Handled = true;
}
}

  1. 限制TextBox文本框输入格式(数字)

先限制输入的只能是45-57的按钮以及8退格键的按钮,排除47“-”,
排除小数点不能在第一位,负号只能在首位,
当负号存在,后面不能直接小数点

private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// 允许 数字,小数点,负号,/,退格键;
if ((e.KeyChar < 45 || e.KeyChar > 57) && e.KeyChar != 8)
{
e.Handled = true;
}
//负号只能在第一位
if (e.KeyChar45)
{
if ((sender as TextBox).Text!="")
{
e.Handled = true;
}
}
//“/”去掉
if (e.KeyChar
47)
{
e.Handled = true;
}
//小数点不能在首位
if (e.KeyChar == 46 && (sender as TextBox).Text == "")
{
e.Handled = true;
}
//第一位是负号,第二位不能为小数点
if (e.KeyChar ==46&& (sender as TextBox).Text == "-")
{
e.Handled = true;
}
}