2010-03-20 20 views
14

Estoy portando un pequeño juego de consola C++ a C# y parece que no puedo detener la impresión de teclas en la consola.¿Cómo evito que se imprima la tecla presionada en la consola en .NET?

En C++ recibo el golpe de teclado con este método, que también suprimir las pulsaciones de teclas que se imprima en la consola:

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

Traté de hacer el equivalente en C# haciendo:

Key = Console.ReadKey(); 

Pero esto no suprime la impresión del personaje en la consola, lo que causa problemas obvios. ¿Alguna idea sobre cómo remediar esto?

Respuesta

28

¿Quieres Console.ReadKey(true)

obtiene la siguiente tecla de carácter o función pulsado por el usuario. La tecla presionada se muestra opcionalmente en la ventana de la consola.

El argumento - que se llama intercepción:

Determina si se muestra la tecla pulsada en la ventana de la consola. verdadero para no mostrar la tecla presionada; de lo contrario, falso.

+0

eso es hermoso, gracias – RollRoll

Cuestiones relacionadas