2010-03-20 162 views
14

我正在向C#移植一個小型的C++控制檯遊戲,看起來我無法停止將按鍵打印到控制檯。如何禁止在.NET中將控件打印到控制檯?

在C++中,我得到這個方法,這也被打印到控制檯抑制擊鍵擊鍵:

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

我試圖做的做的在C#中的等價物:

Key = Console.ReadKey(); 

但是這並沒有抑制字符被打印到控制檯,造成明顯的問題。任何想法如何彌補這一點?

回答

28

你想Console.ReadKey(true)

獲取用戶按下的下一個字符或功能鍵。被按壓的鍵是任選顯示在控制檯窗口。

的參數 - 即所謂截距

確定是否顯示在控制檯窗口被按下的鍵。 true不顯示按鍵;否則,虛假

+0

這很漂亮,謝謝 – RollRoll 2016-08-18 20:50:06