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

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

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

public static void Main(string[] args)
        {
 
            ConsoleKey K = Console.ReadKey().Key;
 
                switch(K)
                {
                    case ConsoleKey.UpArrow :
                        Console.SetCursorPosition(Console.CursorTop, Console.CursorTop);
                        break;
                        
                    case ConsoleKey.DownArrow :
                        Console.SetCursorPosition(Console.CursorTop, Console.CursorLeft);
                        break;
                        
                    case ConsoleKey.LeftArrow :
                        Console.SetCursorPosition(0, Console.CursorLeft);
                        break;
                        
                    case ConsoleKey.RightArrow :
                        Console.SetCursorPosition(Console.CursorLeft, 0);
                        break;
                        
                    case ConsoleKey.Escape :
 
                        break;
                }   
                Console.ReadKey();
                
            }
как зациклить проверку на нажатую клавишу? (надо перемещать курсор по нажатию стрелок.)

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

textual
Листинг программы
    class Program
    {
        public static int origRow;
        public static int origCol;
        protected static void WriteAt(int x, int y)
        {
            try
            {
                Console.SetCursorPosition(origCol + x, origRow + y);
            }
            catch (ArgumentOutOfRangeException e)
            {
                Console.Clear();
                Console.WriteLine(e.Message);
            }
        }
 
        static void Main(string[] args)
        {
            Console.Clear();
            ConsoleKey K=new ConsoleKey();// = Console.ReadKey().Key;
            while (K != ConsoleKey.Escape)
            {
                origRow = Console.CursorTop;
                origCol = Console.CursorLeft;
                K = Console.ReadKey().Key;
                switch (K)
                {
                    case ConsoleKey.UpArrow:
                        Program.WriteAt(0, -1);
                        break;
 
                    case ConsoleKey.DownArrow:
                        Program.WriteAt(0, 1);
                        break;
 
                    case ConsoleKey.LeftArrow:
                        Program.WriteAt(-1, 0);
                        break;
 
                    case ConsoleKey.RightArrow:
                        Program.WriteAt(1, 0);
                        break;
 
                    case ConsoleKey.Escape:
                        break;
                }
            }
        }
    }

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


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

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

11   голосов , оценка 4.182 из 5
Похожие ответы