0

可能重复:
如何在控制台应用程序中处理按键事件

一个简单的问题。

我正在编写一个简单的基于文本的冒险游戏,但我已经被困在第一部分了!如何让我的控制台检查按键 IE:按 Enter 继续!

4

4 回答 4

8

控制台类包含读取和写入“控制台”所需的所有方法

例如

Console.Write("Press Enter to continue!")  
do
{
    ConsoleKeyInfo c = Console.ReadKey();
} while (c.Key != ConsoleKey.Enter);
于 2012-07-18T21:54:06.720 回答
8

您可以使用

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
于 2012-07-18T21:56:27.213 回答
3
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);
于 2012-07-18T21:52:01.860 回答
1

一个事件,就可以了。

private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
        if (e.Key == Key.Return)
        {
            Console.Write("Press Enter to continue!")
        }
 }
于 2012-07-18T21:57:05.923 回答