我想针对负值和字符验证此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;
}
关于c# - 为什么TextBox验证不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37108411/