如何在 C# 中更改控制台窗口的完整背景颜色?
在 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
现在,使用上面的代码,它确实将文本变成蓝色,但它只是将文本的背景变成白色,而不是整个控制台窗口的背景。
这是我的意思的一个例子:
如您所见,仅显示白色背景在文本后面,并且不会改变整个控制台窗口的颜色。
如何更改整个控制台窗口的颜色?
In C#, the console has properties that can be used to change the background color of the console, and the foreground (text) color of the console.
Console.BackgroundColor // the background color
Console.ForegroundColor // the foreground/text color
The issue is that background color applies only where text is written, not to free space.
Console.BackgroundColor = ConsoleColor.White; // background color is white
Console.ForegroundColor = ConsoleColor.Blue; // text color is blue
Now, with the above code, it does indeed turn the text blue, but it only turns the background of the text white, instead of the entire console window's background.
Here's an example of what I mean:
As you can see, the white background only displays behind the text, and does not change the color of the entire console window.
How do I change the color of the entire console window?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(6)
运行控制台控制颜色。您本质上只是更改应用程序颜色属性的输出。
更改整体背景颜色很简单:
单击“C:\”图标
选择属性并选择颜色选项卡。
现在,如果您想以编程方式执行此操作,您需要启动自己的窗口:
CMD /T:F[n color index]
颜色值
黑色 0
蓝色1
绿色2
阿夸3
红4
紫5
绿黄6
浅灰色7
灰色8
浅蓝色9
浅绿色A
浅水色 B
浅红C
浅紫色D
浅黄E
亮白色 F
或者,如果您使用的是 PowerShell,请参阅此 TechNet 文章:http: //technet.microsoft.com/en-us/library/ee156814.aspx
internal class Program
{
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.Clear();
Array marks = Enum.GetValues(typeof(Mark));
foreach (var mark in marks)
{
Console.WriteLine(mark);
Console.BackgroundColor = ConsoleColor.Yellow;
}
}
}
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您需要在设置颜色之后但在写入文本之前清除控制台窗口...
You need to clear the console window AFTER setting the colors but BEFORE you write the text...