我希望针对负值和字符验证此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;
}
答案 0 :(得分:1)
您需要将第一个&&
运算符替换为||
,并将其移至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;
}