Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Обнаружить нажатие клавиши

Автор вопроса: CommunityОтветов: 2

У меня есть код, в котором я что-то делаю при нажатии клавиши

if (Console.ReadKey(true).Key == ConsoleKey.G)
{
    Logger.Trace("Opening the GUI...");
}

Как определить, нажата ли клавиша, используя символ как A-B? Я сохраняю букву быстрого доступа в файле и хочу знать, нажата ли она, но мне нужно определять ее по string, а не по ConsoleKey.

  • Ваш вопрос непонятен. Пожалуйста, попробуйте исправить грамматику. Maciej Jureczko 27.08.2017
  • добавить формат и удалить ненужное user7294900 27.08.2017

console-application

Ответы

Ответ 1 · рейтинг 2 · Sajeetharan

Вы можете использовать char.IsLetter(), чтобы проверить, есть ли это алфавит

    ConsoleKeyInfo keyinfo;
    Console.ReadKey();
    while (!(Console.KeyAvailable  ))
    {
        keyinfo = Console.ReadKey();
        if (char.IsLetter(Console.ReadKey().KeyChar))
        {
        }
    }

Ответ 2 · Tobias Theel

Сохраните результат Console.ReadKey в строковую переменную, добавьте дальнейшие нажатия клавиш и проверьте с помощью

if(inputString.Contains(key)){
  doSomething()
}

Взгляните на следующие ответы: https://stackoverflow.com/a/16037492/4992212

Обнаружение одновременного нажатия двух клавиш а>

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы