Ctrl+ N、Ctrl+ O、Ctrl+などのいくつかのホットキーを検出する必要があるコンソール アプリケーションを開発しています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組み合わせに特別な意味はありますか? これを機能させることは可能ですか?はいの場合、どのように?