Обнаружить Ctrl + S в консолиC#

Место общения программистов C#
Ответить
Anonymous
 Обнаружить Ctrl + S в консоли

Сообщение Anonymous »

Я разрабатываю консольное приложение, в котором мне нужно обнаружить несколько горячих клавиш, таких как 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+ О. Но я не могу заставить его работать с помощью Ctrl+S. Проведя небольшое тестирование, я обнаружил, что нажатие Ctrl+S даже ничего не делает (это означает, что программа все еще ждет, пока пользователь что-нибудь наберет).

Эта проблема возникает только при нажатии Ctrl+S. Использование некоторых простых операторов if для любого другого модификатора (например, Shift) и ключа (N, O и т. д.) работает нормально .

Почему это происходит? Имеет ли комбинация Ctrl+S особое значение? Можно ли заставить эту работу работать? Если да, то как?

Подробнее здесь: https://stackoverflow.com/questions/394 ... in-console
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»