Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

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; } 

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?

like image 929
Cbsch Avatar asked Mar 20 '10 18:03

Cbsch


1 Answers

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.

like image 180
ChrisF Avatar answered Oct 05 '22 02:10

ChrisF