计算器按键手柄

时间:2016-10-11 06:12:38

标签: c#

我目前正在开发一个计算器项目,但我遇到了两个问题。 第一个问题是如何处理按键事件,以便数字加上(+ - / *。)全部工作,但是每个其他键都被阻止。这是我现在使用的代码:

if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
    e.Handled = true;
}

我知道我可以使用&& (e.KeyChar != '+') && (e.KeyChar != '-')分别添加每个符号,但是有更简单有效的方法来处理所有这些键吗?

编辑:抱歉忘记提及我的计算器使用的是文本框,这就是为什么我需要阻止使用字母和一些符号

我的第二个问题是如何阻止用户在一个数字中写入两个或多个小数点,例如9.5.6或0.3.2.9?

由于

1 个答案:

答案 0 :(得分:0)

在类级别声明char数组:

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

关于按键事件:

    if (!char.IsDigit(e.KeyChar) && !allowed.Contains(e.KeyChar) )
    {
        e.Handled = true;
    }