可能重复:
如何在控制台应用程序中处理按键事件
一个简单的问题。
我正在编写一个简单的基于文本的冒险游戏,但我已经被困在第一部分了!如何让我的控制台检查按键 IE:按 Enter 继续!
控制台类包含读取和写入“控制台”所需的所有方法
例如
Console.Write("Press Enter to continue!")
do
{
ConsoleKeyInfo c = Console.ReadKey();
} while (c.Key != ConsoleKey.Enter);
您可以使用
Console.ReadKey();
读取 1 键。然后你可以做这样的事情:
string key = Console.ReadKey().Key.ToString();
if(key.ToUpper() == "W")
Console.WriteLine("User typed 'W'!");
else
Console.WriteLine("User did not type 'W'");
或者:
if(key == "")
Console.WriteLine("User pressed enter!");
else
Console.WriteLine("User did not press enter.");
如果您不关心用户是否键入任何内容,但之后按回车,您可以这样做:
// Some code here
Console.ReadLine();
// Code here will be run after they press enter
Console.Write("Press Enter to continue!")
Console.ReadLine();
在用户按下 Enter 之前,程序不会继续。
您还可以使用以下命令检查其他特定键Console.ReadKey
:
void WaitForKey(ConsoleKey key)
{
while (Console.ReadKey(true).Key != key)
{ }
}
用法:
Console.Write("Press 'Y' to continue.");
WaitForKey(ConsoleKey.Y);
一个事件,就可以了。
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
Console.Write("Press Enter to continue!")
}
}