Псевдографика в консоли Windows. Как это делается?
OS Windows 10, .NET 5.0
Пытаюсь сделать консольное меню в виде списка, на подобии как это сделано в FAR или Northon.
Мне нужно как то выделять пункт меню цветом, когда на него был перемещен (клавиатурой) курсор.
Какие есть варианты:
Задавать курсору координаты ячейки и перепечатывать содержимое выбрав цвет текста/фон?
Или очищать всю консоль, задавая нужный цвет ячейки, когда курсор печатает выбранный до этого пункт?
Пока я пробовал использовать для этого метод Console.MoveBufferArea. Он работает, но немного не так как надо.
Первый вариант годится.
Второй вариант будет явным говнокодом.
Третий вариант: можно менять цвет фона и\или цвет текста, вообще не трогая сам текст. В некоторых случаях это лучше первого варианта.