ホームページ >バックエンド開発 >C++ >C# コンソール アプリケーションでキー押下イベントを処理するにはどうすればよいですか?

C# コンソール アプリケーションでキー押下イベントを処理するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 18:53:441024ブラウズ

How Do I Handle Key Press Events in C# Console Applications?

C# コンソール アプリケーションでのキー押下イベントの処理

C# コンソール アプリケーションでキー押下イベントをキャプチャするには、Windows フォーム アプリケーションとは異なるアプローチが必要です。 。この記事では、コンソール アプリケーションでのキー押下処理メカニズムについて説明し、実際に動作するコード例を示します。

押されたキーの識別

コンソールで押されたキーをキャプチャして識別するにはアプリケーションでは、ConsoleKeyInfo 構造体を使用できます。 Console クラスの ReadKey() メソッドは、押されたキーに関する情報を含む ConsoleKeyInfo オブジェクトを返します。

コンソール アプリケーションでのイベント処理

Windows フォーム アプリケーションとは異なり、コンソール アプリケーションは、キー押下処理にイベント デリゲートを使用しません。代わりに、キー押下イベントは while ループを通じてキャプチャされます。

コード例

次のコードは、コンソール アプリケーションで押されたキーをキャプチャして表示する方法を示しています。

using System;

namespace KeyPressConsole
{
    public class Program
    {
        public static void Main()
        {
            ConsoleKeyInfo keyinfo;

            // Run a loop until the 'X' key is pressed
            do
            {
                keyinfo = Console.ReadKey();
                Console.WriteLine("{0} was pressed", keyinfo.Key);
            }
            while (keyinfo.Key != ConsoleKey.X);
        }
    }
}

キー考慮事項

  • ReadKey() メソッドは、キーが押されるまでブロックします。
  • ConsoleKeyInfo の Key プロパティは、押されたキーを表します。
  • Key ! = while ループ内の ConsoleKey.X 条件により、「X」キーが押されるまでループが継続されます。
  • このアプローチは、コンソール アプリケーションに入力フォーカスがある場合にのみ機能します。

結論

このガイドでは、次の簡単な方法を提供します。 C# コンソール アプリケーションでキー押下イベントを処理します。 ConsoleKeyInfo 構造体と while ループを利用することで、開発者はキーの押下を効果的にキャプチャして処理できます。

以上がC# コンソール アプリケーションでキー押下イベントを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。