不能使用 ||(or) 键

Can't use ||(or) to Keys

我想在按下 space 或回车时 运行 命令。

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

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

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

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

你的语法有误。 请注意,C# 是一种编程语言,而不是人类语言。尽管您可以说 "KeyCode is either space or enter",但 C# 的正确语法是 "either KeyCode equals space, or keycode equals enter":

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

正确的代码是:

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

编译器将 If 语句视为

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

条件 1 或条件 2

编辑:如果您想以更易于阅读的方式检查多个值,请尝试使用扩展方法。

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