Содержание
Нередко при разработке консольных приложений в 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
При этом, первая строка в консоли написана чёрным цветом на чёрном фоне, поэтому её и не видно. Именно на этом моменте мы и перейдем к следующему вопросу — как изменить цвет фона в консоли?
Как изменить цвет фона в консоли?
Для того, чтобы изменить цвет фона в консоли используется свойство BackgroundColor
. Это свойство, также, как ForegroundColor
принимает значения типа ConsoleColor
, поэтому подробно мы на этом свойстве останавливаться не будем, а только продемонстрируем небольшой пример того, как вывести в консоль чёрный текст на белом фоне:
//устанавливаем белый цвет фона Console.BackgroundColor = ConsoleColor.White; //устанавливаем чёоный цвет текста Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("Это черный цвет на белом фоне");
Как изменить цвет всего окна консоли?
Как можно заметить, в предыдущем примере цвет фона меняется только под текстом. Если же нам необходимо изменить цвет всего окна, то необходимо после присвоения свойству BackgroundColor
значения очистить консоль вызвав метод Clear()
. Например:
Console.BackgroundColor = ConsoleColor.Green; Console.ForegroundColor = ConsoleColor.Red; Console.Clear(); Console.WriteLine("Привет, токсичная консоль");
В результате увидим следующее окно консоли:
Как изменить заголовок консоли
Чтобы изменить заголовок консоли, необходимо использовать свойство Title
. Например:
Console.Title = "МояСуперПрограмма";
Результат:
Итого
В этой части учебника по C# мы научились украшать консоль, используя свойства класса Console
: изменять цвет текста, фона, изменять заголовок окна консоли. В следующей части рассмотрим как работать с буфером консоли.