如何验证文本框中的数字操作数

时间:2016-05-27 23:43:39

标签: c# winforms

我在texbox中只有数字的代码,但是也只包括数字运算(+, - ,*等)。你会怎么做这个代码。

private void txtCalculation_KeyPress(object sender, KeyPressEventArgs e)
{   
    e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
}

1 个答案:

答案 0 :(得分:0)

如果你只想要数字和+, - ,*,/你应该使用这样的东西:

private char[] validChars = {'+', '-', '*', '/'};

private void txtCalculation_KeyPress(object sender, KeyPressEventArgs e) {        
    e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && !Array.Exists(validChars, e.KeyChar);
}

数组validChars定义了有效的其他字符。使用Array.Exists方法,您可以检查数组是否包含方法的第二个参数指定的值 - 在本例中为e.KeyChar