Курсор на строке в меню консольного приложения - C#
Формулировка задачи:
Guys, please help me with creating cursor in the Main Menu. Мальчики, помогите пожалуйста мне с созданием курсора в области меню. К примеру я создала меню с помощью switch(k) и чтоб там пользователь мог выбирать команды => стрелками вверх, вниз движение курсора за пределами меню и при нажатии Enter выбирание данной команды.
Вид курсора:
" => "Образный вид:
=> * создание случайных чисел для одномерного массива * создание случайных чисел для двумерного массива * вывод всех массивов на экран консоли * создать IO stream * выход из консольного приложения Вот это приблизительного то, что я бы хотела, чтобы было. При нажатии вверх, курсор будет оставаться в определенном пределе ограничения, а если вниз, то будет так: * создание случайных чисел для одномерного массива => * создание случайных чисел для двумерного массива * вывод всех массивов на экран консоли * создать IO stream * выход из консольного приложения Спасибо, кто поможетРешение задачи: «Курсор на строке в меню консольного приложения»
textual
Листинг программы
using System; #region Main class Program{ static readonly string _cursor = "=> "; static readonly string[] _menuitems = { "* Creating random numbers for the one-dimensional array.", "* Creating random numbers for the two-dimensional array.",}; protected static void Main(){ // Main Console.Title = "Console Application Menu"; Console.CursorVisible = false; Menu(); Console.ReadKey();} private static void Specifications(){ // Specifications Console.ForegroundColor = ConsoleColor.Green; DateTime _d_t = new DateTime(); Console.WriteLine("\t\t\t " + _d_t.Date.ToUniversalTime()); int _n = 0; int[,] _i = new int[_n, _n]; Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine(new string('_', 80)); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\t\t\t CONSOLE APPLICATION MENU"); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine(new string('_', 80));} private static void MenuPrint(int i_choice){ // MenuPrint Console.Clear(); Specifications(); for (int i = 0; i < _menuitems.Length; i++) { if (i == i_choice){ Console.ForegroundColor = ConsoleColor.Green; Console.Write(_cursor); Console.ForegroundColor = ConsoleColor.DarkGreen;} if (i == i_choice){ Console.ForegroundColor = ConsoleColor.Green;} else Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine(_menuitems[i]);}} private static int Menu(){ int choice = 0; while (true){ MenuPrint(choice); switch (Console.ReadKey().Key){ case ConsoleKey.UpArrow: if (choice != 0) --choice; break; case ConsoleKey.DownArrow: if(choice != _menuitems.Length - 1) ++choice; break; case ConsoleKey.Enter: Console.CursorVisible = true; return choice;}}}} #endregion
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д