不能使用||(或)键

时间:2019-09-05 12:50:24

标签: c# key keycode

我想在按下空格键或回车键时运行命令。

if (e.KeyCode == Keys.Space || Keys.Enter )
        {
            //something
        }

这是我所期望的,但是C#不允许我使用||。键,有什么想法吗?

3 个答案:

答案 0 :(得分:3)

if (e.KeyCode == Keys.Space || e.KeyCode == Keys.Enter )
    {
        //something
    }

您需要重复e.KeyCode ==部分

答案 1 :(得分:3)

您的语法错误。 请注意,C#是一种编程语言,而不是人类语言。尽管您可以说“ KeyCode是空格或Enter”,但是c#的正确语法是说“要么KeyCode等于空格,要么keycode等于enter”:

if (e.KeyCode == Keys.Space || e.KeyCode == Keys.Enter)

答案 2 :(得分:2)

正确的代码是:

if (e.KeyCode == Keys.Space || e.KeyCode == Keys.Enter )
{
    //something
}

If语句被编译器视为

if (<condition-1> || <condition-2>) { /*sth*/ }

condition-1或condition-2

编辑:如果要以更易于理解的方式检查多个值,请尝试扩展方法。

Afaik:System.Windows.Forms.Keys不能用作二进制标志。这意味着即使Keys.Space | Keys.Enter也无法正常工作。