Чтение части текста в консоли с сохранением цветов - 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; }

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


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

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

12   голосов , оценка 4 из 5