为什么文本框验证不起作用
Why TextBox validation doesn't work
我希望针对负值和字符验证此 TextBox
(必须是不带小数点的整数)
它适用于 .
但我无法理解为什么它接受负值和字符?
我的代码是:
private void txtLifeMonths_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && (e.KeyChar == '.') && (e.KeyChar >= 0) && (e.KeyChar != (char)Keys.Back))
e.Handled = true;
}
您需要将第一个 &&
运算符替换为 ||
并将其移动到 if
语句的末尾,然后它应该可以正常工作。像这样:
private void txtLifeMonths_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && (e.KeyChar >= 0) && (e.KeyChar != (char)Keys.Back) || (e.KeyChar == '.'))
e.Handled = true;
}
我希望针对负值和字符验证此 TextBox
(必须是不带小数点的整数)
它适用于 .
但我无法理解为什么它接受负值和字符?
我的代码是:
private void txtLifeMonths_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && (e.KeyChar == '.') && (e.KeyChar >= 0) && (e.KeyChar != (char)Keys.Back))
e.Handled = true;
}
您需要将第一个 &&
运算符替换为 ||
并将其移动到 if
语句的末尾,然后它应该可以正常工作。像这样:
private void txtLifeMonths_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && (e.KeyChar >= 0) && (e.KeyChar != (char)Keys.Back) || (e.KeyChar == '.'))
e.Handled = true;
}