Как зациклить проверку на нажатую клавишу? - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. public static void Main(string[] args)
  2. {
  3. ConsoleKey K = Console.ReadKey().Key;
  4. switch(K)
  5. {
  6. case ConsoleKey.UpArrow :
  7. Console.SetCursorPosition(Console.CursorTop, Console.CursorTop);
  8. break;
  9. case ConsoleKey.DownArrow :
  10. Console.SetCursorPosition(Console.CursorTop, Console.CursorLeft);
  11. break;
  12. case ConsoleKey.LeftArrow :
  13. Console.SetCursorPosition(0, Console.CursorLeft);
  14. break;
  15. case ConsoleKey.RightArrow :
  16. Console.SetCursorPosition(Console.CursorLeft, 0);
  17. break;
  18. case ConsoleKey.Escape :
  19. break;
  20. }
  21. Console.ReadKey();
  22. }
как зациклить проверку на нажатую клавишу? (надо перемещать курсор по нажатию стрелок.)

Решение задачи: «Как зациклить проверку на нажатую клавишу?»

textual
Листинг программы
  1.     class Program
  2.     {
  3.         public static int origRow;
  4.         public static int origCol;
  5.         protected static void WriteAt(int x, int y)
  6.         {
  7.             try
  8.             {
  9.                 Console.SetCursorPosition(origCol + x, origRow + y);
  10.             }
  11.             catch (ArgumentOutOfRangeException e)
  12.             {
  13.                 Console.Clear();
  14.                 Console.WriteLine(e.Message);
  15.             }
  16.         }
  17.  
  18.         static void Main(string[] args)
  19.         {
  20.             Console.Clear();
  21.             ConsoleKey K=new ConsoleKey();// = Console.ReadKey().Key;
  22.             while (K != ConsoleKey.Escape)
  23.             {
  24.                 origRow = Console.CursorTop;
  25.                 origCol = Console.CursorLeft;
  26.                 K = Console.ReadKey().Key;
  27.                 switch (K)
  28.                 {
  29.                     case ConsoleKey.UpArrow:
  30.                         Program.WriteAt(0, -1);
  31.                         break;
  32.  
  33.                     case ConsoleKey.DownArrow:
  34.                         Program.WriteAt(0, 1);
  35.                         break;
  36.  
  37.                     case ConsoleKey.LeftArrow:
  38.                         Program.WriteAt(-1, 0);
  39.                         break;
  40.  
  41.                     case ConsoleKey.RightArrow:
  42.                         Program.WriteAt(1, 0);
  43.                         break;
  44.  
  45.                     case ConsoleKey.Escape:
  46.                         break;
  47.                 }
  48.             }
  49.         }
  50.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы