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

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

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

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


person Community    schedule 27.08.2017    source источник
comment
Ваш вопрос непонятен. Пожалуйста, попробуйте исправить грамматику.   -  person Maciej Jureczko    schedule 27.08.2017
comment
добавить формат и удалить ненужное   -  person user7294900    schedule 27.08.2017


Ответы (2)


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

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

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

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

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

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

person Tobias Theel    schedule 27.08.2017