C# 控制台应用程序输出颜色字体[更正版]
首先感谢院子里的“yanxinchen”,之前的方法是通过c#调用系统api实现的,相比之下我的有点画蛇添足了,哈哈。
最佳解决方案的代码:
static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Hello, color text!");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Hello, color text!");
Console.ReadKey();
}
效果如图:
=================================================================================
我之前的代码如下(已过时):
控制台应用程序字体本身不能输出带颜色的字体,所有就需要调用系统的api实现,下面是一个封装好的类,另赋调用的方法,使用起来很方便,效果如图:
封装调用系统api的类ConsoleColor.cs代码如下:
ConsoleColor.cs
在Main方法的调用代码如下:
ConsoleColor TextChange = new ConsoleColor();
Console.WriteLine("Original Colors");
Console.WriteLine("Press Enter to Begin");
Console.ReadLine();
TextChange.TextColor((int)ConsoleColor.Foreground.Green +
(int)ConsoleColor.Foreground.Intensity);
Console.WriteLine("THIS TEXT IS GREEN");
Console.WriteLine("Press Enter to change colors again");
Console.ReadLine();
TextChange.TextColor((int)ConsoleColor.Foreground.Red +
(int)ConsoleColor.Foreground.Blue +
(int)ConsoleColor.Foreground.Intensity);
Console.WriteLine("NOW THE TEXT IS PURPLE");
Console.WriteLine("Press Enter to change colors again");
Console.ReadLine();
TextChange.TextColor((int)ConsoleColor.Foreground.Blue +
(int)ConsoleColor.Foreground.Intensity +
(int)ConsoleColor.Background.Green +
(int)ConsoleColor.Background.Intensity);
Console.WriteLine("NOW THE TEXT IS BLUE AND BACKGROUND OF IT IS GREEN");
Console.WriteLine("Press Enter change everything back to normal");
Console.ReadLine();
TextChange.ResetColor();
Console.WriteLine("Back to Original Colors");
Console.WriteLine("Press Enter to Terminate");
Console.ReadLine();