16 c# console background colors
在C#中,控制台具有可用于更改控制台背景颜色和控制台前景(文本)颜色的属性.
Console.BackgroundColor // the background color
Console.ForegroundColor // the foreground/text color
Run Code Online (Sandbox Code Playgroud)
问题是背景颜色仅适用于写入文本的位置,而不适用于自由空间.
Console.BackgroundColor = ConsoleColor.White; // background color is white
Console.ForegroundColor = ConsoleColor.Blue; // text color is blue
Run Code Online (Sandbox Code Playgroud)
现在,使用上面的代码,它确实将文本变为蓝色,但它只将文本的背景变为白色,而不是整个控制台窗口的背景.
这是我的意思的一个例子:

如您所见,白色背景仅显示在文本后面,并不会更改整个控制台窗口的颜色.
如何更改整个控制台窗口的颜色?
Rya*_*ord 36
您需要在设置颜色后清除控制台窗口,但在编写文本之前...
Console.ForegroundColor = ConsoleColor.Red;
Console.BackgroundColor = ConsoleColor.Green;
Console.Clear();
Console.WriteLine("Hello World");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
请原谅无耻的自我推销,但我创建了一个小插件(在NuGet上可用),它允许您向控制台输出添加任何(如果您的终端支持)颜色,而不受经典解决方案的限制。
它通过扩展String对象来工作,语法非常简单:
"colorize me".Pastel("#1E90FF");
Run Code Online (Sandbox Code Playgroud)