2

Ctrl+ NCtrl+ OCtrl+などのいくつかのホットキーを検出する必要があるコンソール アプリケーションを開発していますS。これらのホットキーを認識するために使用するコードの一部を次に示します。

ConsoleKeyInfo input = Console.ReadKey(true);

if (input.Modifiers == ConsoleModifiers.Control)
{
    if (input.Key == ConsoleKey.N)
    {
        // ...
    }
    else if (input.Key == ConsoleKey.O)
    {
        // ...
    }
    else if (input.Key == ConsoleKey.S)
    {
        //...
    }
}

上記のコードは、Ctrl+NおよびCtrl+に対して問題なく動作しOます。Ctrlしかし、 +では機能しませんS。簡単なテストを行った後、Ctrl+を押しSても何も起こらないことがわかりました (つまり、プログラムはユーザーが何かを入力するのを待っています)。

この問題はCtrl+でのみ発生しSます。if他の修飾子 (Shiftたとえば) とキー ( N、など) にいくつかの簡単なステートメントを使用すると問題なくO動作します。

なぜこれが起こるのですか?Ctrl+のS組み合わせに特別な意味はありますか? これを機能させることは可能ですか?はいの場合、どのように?

4

2 に答える 2