不能使用 ||(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
也不起作用。
我想在按下 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
也不起作用。