Чтение части текста в консоли с сохранением цветов - C#
Формулировка задачи:
Можно ли прочитать часть текста в консоли с сохранением цветов? Нужно скопировать в некой области текст с сохранением цветов и после отображения появившегося текста вставить скопированное. Если кому интересно делаю сообщения в консоли.
Вот код вывода окошка
public static void BuildWindow(string content, ConsoleColor backColor, ConsoleColor foreColor) { int _cWidth = Console.WindowWidth; int _cHeight = Console.WindowHeight - 1; List<string> _wndArray = new List<string>(); Console.BackgroundColor = backColor; Console.ForegroundColor = foreColor; char _wndFrmTB = '='; char _wndFrmLR = '|'; char _wndFrmLTC = '*'; char _wndFrmLDC = '*'; char _wndFrmRTC = '*'; char _wndFrmRDC = '*'; int _wndWidth = content.Length + 4; string _top = _wndFrmLTC + new string(_wndFrmTB, _wndWidth - 2) + _wndFrmRTC; string _cn1 = _wndFrmLR + new string(' ', _wndWidth - 2) + _wndFrmLR; string _cn2 = _wndFrmLR + " " + content + " " + _wndFrmLR; string _cn3 = _wndFrmLR + new string(' ', _wndWidth - 2) + _wndFrmLR; string _bot = _wndFrmLDC + new string(_wndFrmTB, _wndWidth - 2) + _wndFrmRDC; _wndArray.Add(_top); _wndArray.Add(_cn1); _wndArray.Add(_cn2); _wndArray.Add(_cn3); _wndArray.Add(_bot); int _x = (_cWidth / 2) - (_wndWidth / 2); int _y = (_cHeight / 2) - (_wndArray.Count / 2); Console.SetCursorPosition(_x, _y); int _tmpY = _y; for (int i = 0; i < _wndArray.Count; i++) { Console.Write(_wndArray[i]); _tmpY = _tmpY + 1; Console.SetCursorPosition(_x, _tmpY); } Console.SetCursorPosition(0, 0); Console.ResetColor(); }
Решение задачи: «Чтение части текста в консоли с сохранением цветов»
textual
Листинг программы
// // Сводка: // Возвращает или задает цвет фона консоли. // // Возврат: // Значение из перечисления , задающее фоновый цвет консоли, то есть цвет, на фоне // которого выводятся символы.Значением по умолчанию является Black. // // Исключения: // T:System.ArgumentException: // Цвет, заданный в операции set, не является допустимым членом перечисления System.ConsoleColor. // // T:System.Security.SecurityException: // Данный пользователь не имеет разрешения на выполнение этого действия. // // T:System.IO.IOException: // Произошла ошибка ввода-вывода. public static ConsoleColor BackgroundColor { get; set; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д