Как изменить полный цвет фона окна консоли в C #? - PullRequest
16 голосов
/ 23 сентября 2011

В C # консоль имеет свойства, которые можно использовать для изменения цвета фона консоли и цвета переднего плана (текста) консоли.

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

Как видите, белый фон отображается только за текстом и не меняет цвет всего окна консоли.

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

Ответы [ 5 ]

36 голосов
/ 23 сентября 2011

Вам необходимо очистить окно консоли ПОСЛЕ установки цветов, но ДО того, как вы напишите текст ...

Console.ForegroundColor = ConsoleColor.Red;
Console.BackgroundColor = ConsoleColor.Green;

Console.Clear();

Console.WriteLine("Hello World");

Console.ReadLine();
1 голос
/ 27 января 2019

Простите за бесстыдную саморекламу, но я создал маленький плагин (доступен на NuGet ), который позволяет вам добавить любой (если поддерживается вашим терминалом) цвет на ваш консольный вывод, без ограничений классических решений.

Он работает путем расширения объекта String, и синтаксис очень прост:

"colorize me".Pastel("#1E90FF");

enter image description here

0 голосов
/ 16 февраля 2019

Console.ForegroundColor = ConsoleColor.White;

0 голосов
/ 14 декабря 2013

Это будет работать для вас, поставьте его после первой открытой скобки

{
        system("cls");
        system("color f3");
}

Вы можете изменить цвета по номеру до 7, я думаю, пример f1, f2, f3, f4 ...*

0 голосов
/ 23 сентября 2011

Рабочая консоль контролирует цвета. По сути, вы только меняете вывод цветовых свойств вашего приложения.

Это просто для изменения общего цвета фона: Нажмите на значок «C: \» Выберите «Свойства» и выберите вкладку «Цвета».

Теперь, если вы хотите сделать это программно, вам нужно запустить собственное окно:

CMD /T:F[n color index]

Значение цвета

черный 0 Синий 1 Зеленый 2 Аква 3 Красный 4 Фиолетовый 5 Зеленовато-желтый 6 Светло-серый 7 Серый 8 Голубой 9 Светло-зеленый Light Aqua B Светло-красный C Светло-фиолетовый D Светло-желтый E Ярко-белый F

Или, если вы используете PowerShell, обратитесь к этой статье TechNet: http://technet.microsoft.com/en-us/library/ee156814.aspx

...