【问题标题】:How do I suppress keypress being printed to console in .NET?如何在 .NET 中禁止将按键打印到控制台?
【发布时间】:2011-01-29 20:51:27
【问题描述】:

我正在将一个小型 C++ 控制台游戏移植到 C#,似乎无法阻止按键被打印到控制台。

在 C++ 中,我使用这种方法获得击键,这也抑制了击键被打印到控制台:

bool Game::getInput(char *c)
{
    if (_kbhit())
    {
        *c = _getch();
        return true;
    }
    return false;
}

我尝试在 C# 中做同样的事情:

Key = Console.ReadKey();

但这并不能抑制字符被打印到控制台,从而导致明显的问题。关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: c# .net console


    【解决方案1】:

    你想要Console.ReadKey(true)

    获取用户按下的下一个字符或功能键。按下的键可选地显示在控制台窗口中。

    参数-称为拦截

    确定是否在控制台窗口中显示按下的键。 true 不显示按下的键;否则,false

    【讨论】:

      【解决方案2】:

      ReadKey 方法有一个overload that takes a bool 作为参数。传入true,不会在控制台显示输入。

      【讨论】:

        猜你喜欢
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-02
        • 2020-01-04
        • 2012-03-22
        相关资源
        最近更新 更多