0

重複の可能性:
コンソール アプリケーションでキー プレス イベントを処理する方法

簡単な質問です。

私は単純なテキスト ベースのアドベンチャー ゲームを楽しみのために書いていますが、すでに最初の部分で行き詰まっています。コンソールでキーの押下を確認するにはどうすればよいですか IE: Enter キーを押して続行してください!

4

4 に答える 4

8

Consoleクラスには、「コンソール」の読み取りと書き込みに必要なすべてのメソッドが含まれています。

例えば

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.");

そして、ユーザーが何かを入力した後でも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 に答える