开发者

How do I suppress keypress being printed to console in .NET?

开发者 https://www.devze.com 2022-12-23 20:02 出处:网络
I\'m porting a small C++ console game to C# and it seems that I can\'t stop key presses from being printed to the console.

I'm porting a small C++ console game to C# and it seems that I can't stop key presses from being printed to the console.

In C++ I get the keystroke with this method, which also suppress the keystrokes from being printed to the console:

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

I tried to do the equivalent in C# by doing:

Key = Console.ReadKey();

But this does not suppress the character from being printed to the console, causing obvious problems. Any ideas on how to remedy this?


You want Console.ReadKey(true)

Obtains the next character or function key pressed by the user. The pressed key is optionally displayed in the console window.

The argument - which is called intercept:

Determines whether to display the pressed key in the console window. true to not display the pressed key; otherwise, false.


The ReadKey method has an overload that takes a bool as a parameter. Pass in true and it will not display the input in the console.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号