在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
现在,使用上面的代码,它确实将文本变为蓝色,但它只会将文本的背景变为白色,而不是整个控制台窗口的背景。
以下是我的意思的一个例子:
如您所见,白色背景仅显示在文本后面,并且不会更改整个控制台窗口的颜色。
如何更改整个控制台窗口的颜色?
答案 0 :(得分:36)
您需要在设置颜色后清除控制台窗口,但在编写文本之前...
Console.ForegroundColor = ConsoleColor.Red;
Console.BackgroundColor = ConsoleColor.Green;
Console.Clear();
Console.WriteLine("Hello World");
Console.ReadLine();
答案 1 :(得分:1)
请原谅无耻的自我推广,但我创建了一个small plugin(可在NuGet上使用),可以让您添加任何(如果您的终端支持)为控制台输出添加颜色,而不受传统解决方案的限制。
它通过扩展String
对象而起作用,语法非常简单:
"colorize me".Pastel("#1E90FF");
答案 2 :(得分:0)
正在运行的控制台控制颜色。您基本上只是更改应用程序颜色属性的输出。
更改整体背景颜色很简单: 单击“C:\”图标 选择“属性”,然后选择“颜色”选项卡。
现在,如果您想以编程方式执行此操作,那么您需要启动自己的窗口:
CMD /T:F[n color index]
黑色0 蓝色1 绿色2 Aqua 3 红色4 紫色5 绿黄色6 浅灰色7 灰色8 浅蓝色9 浅绿色A. Light Aqua B 浅红色C. 浅紫色D. 浅黄色E. 亮白F
或者,如果您使用的是PowerShell,请参阅此TechNet文章:http://technet.microsoft.com/en-us/library/ee156814.aspx
答案 3 :(得分:0)
Console.ForegroundColor = ConsoleColor.White;
答案 4 :(得分:-2)
这可以让你把它放在你的第一个开放式大括号之后
{
system("cls");
system("color f3");
}
你可以用数字改变颜色,最多7个我认为例子f1,f2,f3,f4 ......。