Курсор на строке в меню консольного приложения - 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

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


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

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

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