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