Работа с консолью в C# (класс Console). Украшение консоли

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

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

Как изменить цвет текста в консоли?

Наверное, самым популярным украшением консоли является изменение цвета текста. Чтобы изменить цвет всего следующего текста в консоли, необходимо использовать свойство ForegroundColor класса Console. Свойство ForegroundColor имеет тип специального перечисления (enum) ConsoleColor и, в связи с этим, мы несколько ограничены в выборе цвета текста, однако и доступных цветов (а их ровно шестнадцать) нам вполне должно хватить, чтобы сделать консоль более красивой. Рассмотрим такой пример:

Console.WriteLine("Эта строка написана белым цветом");
//теперь меняем увет на красный
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("Срочно! ");
//Снова меняем цвет текста на белый
Console.ForegroundColor = ConsoleColor.White;
Console.Write("Введите своё имя: ");
//для ввода будем использовать зеленый цвет
Console.ForegroundColor = ConsoleColor.Green;
string? name = Console.ReadLine();
//для вывода будем использовать синий цвет
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine($"Привет, {name}");
//сбрасываем настройки цвета на настройки по умолчанию
Console.ResetColor();

Здесь мы несколько раз меняем цвет текста, в зависимости от того, что мы хотим сделать: обратить внимание пользователя (красный), ввод текста (зеленый), вывод текста (синий). На экране можно увидеть следующую красочную консоль:

Консоль. Цвет текста

Чтобы продемонстрировать все имеющиеся цвета, которые мы можем использовать для консоли, можно написать вот такую простенькую программку с циклом:

            for (int i = 0; i < 16; i++)
            { 
            	Console.ForegroundColor = (ConsoleColor)i;
            	Console.WriteLine((ConsoleColor)i);
            }

На экран будут выведены все значения перечисления ConsoleColor

ConsoleColor

При этом, первая строка в консоли написана чёрным цветом на чёрном фоне, поэтому её и не видно. Именно на этом моменте мы и перейдем к следующему вопросу — как изменить цвет фона в консоли?

Как изменить цвет фона в консоли?

Для того, чтобы изменить цвет фона в консоли используется свойство BackgroundColor. Это свойство, также, как ForegroundColor принимает значения типа ConsoleColor , поэтому подробно мы на этом свойстве останавливаться не будем, а только продемонстрируем небольшой пример того, как вывести в консоль чёрный текст на белом фоне:

//устанавливаем белый цвет фона
Console.BackgroundColor = ConsoleColor.White;
//устанавливаем чёоный цвет текста
Console.ForegroundColor = ConsoleColor.Black;
Console.WriteLine("Это черный цвет на белом фоне");

BackgroundColor

Как изменить цвет всего окна консоли?

Как можно заметить, в предыдущем примере цвет фона меняется только под текстом. Если же нам необходимо изменить цвет всего окна, то необходимо после присвоения свойству BackgroundColor значения очистить консоль вызвав метод Clear(). Например:

Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Red;
Console.Clear();
Console.WriteLine("Привет, токсичная консоль");

В результате увидим следующее окно консоли:

Консоль зеленого цвета

Как изменить заголовок консоли

Чтобы изменить заголовок консоли, необходимо использовать свойство Title. Например:

Console.Title = "МояСуперПрограмма";

Результат:

Заголовок Title Console

Итого

В этой части учебника по C# мы научились украшать консоль, используя свойства класса Console: изменять цвет текста, фона, изменять заголовок окна консоли. В следующей части рассмотрим как работать с буфером консоли.

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии