Ответ 1
Вы можете опросить Console.KeyAvailable, чтобы узнать, можете ли вы что-нибудь прочитать.
Оба Console.Read()
и Console.ReadKey()
, похоже, ждут нажатия клавиши. Как я могу определить, было ли что-нибудь нажато, не попросив программу ждать нажатия клавиши?
Вы можете опросить Console.KeyAvailable, чтобы узнать, можете ли вы что-нибудь прочитать.
Вы хотите изучить использование обработчиков событий. Для использования форм Windows следующее должно быть полезно. Событие Control.Keypress(System.Windows.Forms). Для хорошего обзора обработчиков событий в общем случае посмотрите EventHandling в .NET с использованием С#.
Для консольного приложения вы должны заглянуть в функцию Console.CancelKeyPress Event
.
Просто добавьте следующее, где вы хотите подождать:
while (!Console.KeyAvailable) {}