我正在用 C# 编写一个控制台应用程序,它使用Console.ReadKey()
. 它的代码与此类似:
while(true)
{
switch(Console.ReadKey(true).Key)
{
case ConsoleKey.Enter:
//code
case ConsoleKey.UpArrow:
//code
case ConsoleKey.DownArrow:
//code
case ConsoleKey.Escape:
//code
}
}
现在的问题是,如果用户按住任何键超过半秒,Windows 会将其注册为多次按键。因此,例如,如果按住 Enter 键一秒钟,后面的代码会case ConsoleKey.Enter:
运行大约十次,而我不希望这样。
如何使按住按钮仅注册为一次按键?我必须为此使用 Windows 窗体吗?(目前我的代码只依赖于 Console 类)。