如何在.NET中抑制打印到控制台的按键?
我正在将一个小型C ++控制台游戏移植到C#,似乎我无法阻止按键被打印到控制台。
在C ++中,我使用此方法获得击键,这也可以抑制击键被打印到控制台:
bool Game::getInput(char *c) { if (_kbhit()) { *c = _getch(); return true; } return false; }
我尝试通过以下方式在C#中执行等效操作:
Key = Console.ReadKey();
但这并不能抑制字符被打印到控制台,从而导致明显的问题。 关于如何解决这个问题的任何想法?
你想要Console.ReadKey(true)
获得用户按下的下一个字符或function键。 按下的键可选地显示在控制台窗口中。
参数 – 被称为拦截 :
确定是否在控制台窗口中显示按下的键。 如果不显示按下的键,则为true ; 否则,是的。
ReadKey
方法有一个以bool作为参数的重载 。 传入true
,它不会在控制台中显示输入。