Как изменить полный цвет фона в окне консоли на С#?
В С# консоль имеет свойства, которые можно использовать для изменения цвета фона в консоли и цвета переднего плана (текста) консоли.
Console.BackgroundColor // the background color
Console.ForegroundColor // the foreground/text color
Проблема заключается в том, что цвет фона применяется только там, где текст написан, а не для свободного места.
Console.BackgroundColor = ConsoleColor.White; // background color is white
Console.ForegroundColor = ConsoleColor.Blue; // text color is blue
Теперь, с приведенным выше кодом, он действительно превращает текст в синий цвет, но он только превращает фон текста в белый цвет, а не весь фон окна консоли.
Вот пример того, что я имею в виду:
![The background only covers the background of the text, not of the entire console window]()
Как вы можете видеть, белый фон отображается только за текстом и не меняет цвет всего окна консоли.
Как изменить цвет всего окна консоли?
Ответы
Ответ 1
Вам нужно очистить окно консоли ПОСЛЕ установки цветов, но ПЕРЕД записью текста...
Console.ForegroundColor = ConsoleColor.Red;
Console.BackgroundColor = ConsoleColor.Green;
Console.Clear();
Console.WriteLine("Hello World");
Console.ReadLine();
Ответ 2
Управляющая консоль управляет цветами. Вы по существу изменяете только результат цветовых свойств вашего приложения.
Это просто для изменения общего цвета фона:
Нажмите на значок "C: \"
Выберите "Свойства" и перейдите на вкладку "Цвета".
Теперь, если вы хотите сделать это программно, вы захотите запустить свое собственное окно:
CMD /T:F[n color index]
Значение цвета
Черный 0
Синий 1
Зеленый 2
Aqua 3
Красный 4
Фиолетовый 5
Зеленовато-желтый 6
Светло-серый 7
Серый 8
Светло-голубой 9
Светло-зеленый
Свет Aqua B
Светло-красный C
Светло-фиолетовый D
Светло-желтый E
Яркий белый F
Или, если вы используете PowerShell, обратитесь к этой статье TechNet: http://technet.microsoft.com/en-us/library/ee156814.aspx
Ответ 3
Извините за бесстыдную саморекламу, но я создал небольшой плагин (доступный на NuGet), который позволяет вам добавлять любой (если поддерживается вашим терминалом) цвет к вашему выводу консоли, без ограничений классических решений.
Он работает путем расширения объекта String
, и синтаксис очень прост:
"colorize me".Pastel("#1E90FF");
![enter image description here]()
Ответ 4
Это будет работать, если вы положите его после первой открытой скобки
{
system("cls");
system("color f3");
}
Вы можете изменить цвета по номеру до 7 Я думаю, пример f1, f2, f3, f4....