摘要
在C#的控制台程序中,经常需要通过代码设置控制台(命令行)窗口的字体颜色,窗口宽度和高度,光标的函数等属性,获取获取控制台支持的背景色,前景色等,下面将给出一些示例代码和运行结果。
设置窗口宽度和高度
C#控制台程序设置命令行窗口的宽度和高度,以及标题等属性的代码如下:
static void Main(string[] args)
{
Console.WriteLine(Console.WindowHeight);
Console.WriteLine(Console.BufferHeight);
Console.ReadKey();
Console.Title = "Test";//设置窗口标题
Console.WindowWidth = 120;
Console.BufferHeight = 1000;
Console.WriteLine(Console.WindowWidth);
Console.WriteLine(Console.WindowHeight);
Console.WriteLine("---------------------");
Console.WriteLine(Console.BufferWidth);
Console.WriteLine(Console.BufferHeight);
Console.ReadKey();
}
以上代码运行结果如下图所示:
设置窗口字体颜色和背景颜色
C#控制台程序设置命令行窗口的字体颜色和背景颜色属性的代码如下:
static void Main(string[] args)
{
Console.Title = "Test";
Console.BackgroundColor = ConsoleColor.Blue; //设置背景色
Console.ForegroundColor = ConsoleColor.White; //设置前景色,即字体颜色
Console.WriteLine("第一行白蓝.");
Console.ResetColor(); //将控制台的前景色和背景色设为默认值
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.DarkGreen;
string str = "第三行 绿暗绿";
Console.WriteLine(str.PadRight(Console.BufferWidth - (str.Length % Console.BufferWidth))); //设置一整行的背景色
Console.ResetColor();
Console.ReadKey();
}
以上C#控制台程序设置命令行窗口的字体颜色和背景颜色属性的代码运行结果如下图所示:
获取console中支持的背景色及前景色
在C#中获取控制台(Console)支持的背景色和前景色的代码如下:
static void ShowColor()
{
//显示出console中支持的背景色及前景色
Type type = typeof(ConsoleColor);
Console.ForegroundColor = ConsoleColor.White;
foreach (string name in Enum.GetNames(type))
{
Console.BackgroundColor = (ConsoleColor)Enum.Parse(type, name);
Console.WriteLine(name);
}
Console.BackgroundColor = ConsoleColor.Black;
foreach (string name in Enum.GetNames(type))
{
Console.ForegroundColor = (ConsoleColor)Enum.Parse(type, name);
Console.WriteLine(name);
}
foreach (string bc in Enum.GetNames(type))
{
Console.BackgroundColor = (ConsoleColor)Enum.Parse(type, bc);
foreach (string fc in Enum.GetNames(type))
{
Console.ForegroundColor = (ConsoleColor)Enum.Parse(type, fc);
Console.WriteLine("bc=" + bc + ",fc=" + fc);
}
Console.WriteLine();
}
}
static void Main(string[] args)
{
Console.Title = "Test";
ShowColor();
int m = Console.CursorTop;//查看当前行号Console.BufferHeight
ShowColor();
int n = Console.CursorTop;
ShowColor();
int o = Console.CursorTop;
Console.ReadKey();
}
评论区