Как сделать текстовое поле в окне командной строки?
-
22-09-2019 - |
Вопрос
Я работаю с .NET (в частности, с Boo, но ответы будут работать и на C#), и я хочу знать, как создать редактируемое поле внутри командной строки, чтобы я мог отображать раздел вывода в верхней части командную строку и иметь однострочное поле внизу для ввода, как это делает программа irssi (клиент IRC).
Я предполагаю, что это возможно с .NET, как мне к этому подойти?
Решение
Вы можете использовать Console.SetCursorPosition(Column, Row)
чтобы установить курсор в соответствующую позицию.Для вашего примера используйте Console.SetCursorPosition(0, Console.WindowHeight-1)
чтобы поместить курсор в самую нижнюю строку, а затем позволить пользователю ввести текст.
Другие советы
Разве вам не нужно приложение Windows с размещенным внутри него клиентом командной строки?
irssi
использует библиотеку под названием ncurses
, но в .Net Система.Консоль object предоставляет вам практически все, что вам нужно для создания консольных приложений.
Другим вариантом более высокого уровня будет моно.курсы сборка.