Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/35: Рейтинг темы: голосов - 35, средняя оценка - 4.86
 Аватар для irineyxxx
151 / 53 / 11
Регистрация: 18.09.2011
Сообщений: 730

Выбор пункта меню консольного приложения нажатием клавиши

06.01.2012, 19:03. Показов 7488. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все мы привыкли делать меню, вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int Получатель_числа_ввода_от_пользователя;
            Console.WriteLine("\t\t\t     Меню программы: \n" + 
                "\n1. Нахождение минимального и максимального элемента из одномерного массива");
            Получатель_числа_ввода_от_пользователя = Convert.ToInt32(Console.ReadLine());
            switch(Получатель_числа_ввода_от_пользователя)
            {
                case 1:
                    {
                        Console.Clear();
                        Нахождение_минимального_и_максимального_элемента_из_одномерного_массива();
                    }
                    break;
                default:
                    {
                        Console.Clear();
                        Меню_программы();
                    } 
                    break;
            }
Как сделать, чтобы пользователь не вводил данные при выборе меню, а вот нажал клавишу 1 и сразу же моментальное действие метода функции ? ( типа ReadKey().Key )
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.01.2012, 19:03
Ответы с готовыми решениями:

Курсор на строке в меню консольного приложения
Guys, please help me with creating cursor in the Main Menu. Мальчики, помогите пожалуйста мне с созданием курсора в области меню. К...

Убить процесс нажатием клавиши
Помогите, пожалуйста, реализовать программу, которая запускается и ждет нажатия комбинации клавиш. То есть, например, я нахожусь в игре,...

Есть ли возможность реализовать прерывание цикла консольного приложения нажатием клавиши?
Выполняется цикл, при нажатии клавиши (например "А") цикл прерывается, но программа не закрывается. Приложение консольное

6
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
06.01.2012, 19:11
Цитата Сообщение от irineyxxx Посмотреть сообщение
Все мы привыкли делать меню
Да ну?

Цитата Сообщение от irineyxxx Посмотреть сообщение
Как сделать, чтобы пользователь не вводил данные при выборе меню, а вот нажал клавишу 1 и сразу же моментальное действие метода функции ?
Использовать Console.ReadKey(true) и не показывать курсор. Передать в switch и обрабатывать Key.
0
 Аватар для irineyxxx
151 / 53 / 11
Регистрация: 18.09.2011
Сообщений: 730
06.01.2012, 19:16  [ТС]
Blood-Angel, Вот так вот , сказать я тоже могу, а дело показать можно ? ( P.S. - сам код )
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
06.01.2012, 19:18
irineyxxx, а поиском воспользоваться не судьба? Мне надоело писать этот код: Курсор на строке в меню консольного приложения
0
 Аватар для irineyxxx
151 / 53 / 11
Регистрация: 18.09.2011
Сообщений: 730
06.01.2012, 19:23  [ТС]
Blood-Angel, А я прошу написать мне курсор для меню ? Я это умею, мне нужно реагирование на нажатую клавишу от пользователя
[1] - действие 1
[2] - действие 2
[3] - действие 3
К примеру вышло меню - и при нажатии 1 моментально началось выполнение выбранного метода.

Добавлено через 1 минуту
тут действия над Console.ReadKey().Key; - точно, либо Console.ReadKey().KeyChar;
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
06.01.2012, 19:29
Цитата Сообщение от irineyxxx Посмотреть сообщение
мне нужно реагирование на нажатую клавишу от пользователя
Там заложен именно тот принцип, который я описал. Курсор моментально реагирует на курсор. Трудно вместо курсора подставить что-то свое? =\

Цитата Сообщение от irineyxxx Посмотреть сообщение
Console.ReadKey().Key
ConsoleKey.D1, ConsoleKey.D2, ConsoleKey.D3 и т.д.
Или ConsoleKey.NumPad0, ConsoleKey.NumPad1, ConsoleKey.NumPad2 и т.д.
Не знаю на какие вы там цифры собрались нажимать.
1
 Аватар для irineyxxx
151 / 53 / 11
Регистрация: 18.09.2011
Сообщений: 730
06.01.2012, 19:38  [ТС]
Blood-Angel, все, спасибо! +1 заслужил.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch(Console.ReadKey(true).Key)
            {
                case ConsoleKey.D1:
                    {
                        Console.Clear();
                        Нахождение_минимального_и_максимального_элемента_из_одномерного_массива();
                    }
                    break;
                default:
                    {
                        Console.Clear();
                        Меню_программы();
                    } 
                    break;
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.01.2012, 19:38
Помогаю со студенческими работами здесь

Запретить выбор пункта меню, если он уже выбран в другом меню
Доброго времени суток! Помогите пожалуйста с такой задачкой: На форме 4 TPanel, к ним прикручены Popup menu. В каждом меню по 9 позиций...

Реализация выхода из консольного приложения после нажатия любой клавиши
суть задачки- написать таймер для консоли с возможностью остановки при нажатии любой клавиши. таймер написал, как реализовать остановку...

Выбор пункта меню
Как написать выбор пункта меню, который похож на чекбокс. Например: - Первый - Второй - Десятый Отправлено с моего...

Добавление пункта в системное меню приложения
Можно ли изменить системное меню уже созданного приложения? Мне нужно добавить туда свой пункт, который будет выполнять мой скрипт....

Отсутствие пункта меню создания Qt приложения
Приветствую! Установил на Ubuntu 13.04 Qt creator посредством команды sudo apt-get install qtcreator. Установленная версия 2.7.0. Но при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru