手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#在控制台输出彩色文字的方法
c#在控制台输出彩色文字的方法
摘要:“HelloWorld!”的程序写过不少,不过都是在黑色背景的控制台上显示白色的文字。这次决定写点特别的,让“HelloWorld!”变成彩...

“Hello World!”的程序写过不少,不过都是在黑色背景的控制台上显示白色的文字。这次决定写点特别的,让“Hello World!”变成彩色的文字。

示例代码如下:

复制代码 代码如下:

using System;

using System.Runtime.InteropServices;

[assembly:CLSCompliant(true)]

namespace ColorConsole

{

public sealed class HelloWorld

{

private HelloWorld() { }

public static void Main()

{

const UInt32 STD_OUTPUT_HANDLE = unchecked((UInt32)(-11));

IntPtr consoleHandle = NativeMethods.GetStdHandle(STD_OUTPUT_HANDLE);

string s = "Hello World!";

for (int i = 0; i < s.Length; i++)

{

NativeMethods.SetConsoleTextAttribute(consoleHandle, (ushort)(i + 1));

Console.Write(s[i]);

}

Console.ReadLine();

}

}

class NativeMethods

{

private NativeMethods() { }

[DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]

public static extern IntPtr GetStdHandle(UInt32 type);

[DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]

[return: MarshalAs(UnmanagedType.U1)]

public static extern bool SetConsoleTextAttribute(IntPtr consoleHandle, ushort attributes);

}

}

主要用到的方法是GetStdHandle与SetConsoleTextAttribute。前者取得控制台的句柄,后者设置控制台的文字颜色。

循环语句中将字符串的每个字符设置为不同的颜色,逐一显示出来,最终成为一串彩色的文字。

至于代码的实际用途吗,我想在控制台上输出日志的时候可能会有作用。尤其是要醒目地显示不同类型日志的场合下,比如可以将错误,警告和信息类型的日志分别用红色,黄色与通常的白色区别开来。

【c#在控制台输出彩色文字的方法】相关文章:

C#中Array与ArrayList用法及转换的方法

C#中使用split分割字符串的几种方法小结

在Form_Load里面调用Focus无效的解决方法

c#使用linq技术创建xml文件的小例子

C#中的yield关键字的使用方法介绍

C#异步调用的好处和方法分享

深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法

c# 以二进制读取文本文件

在Winform动态启动、控制台命令行的方法

c#中虚函数的相关使用方法

精品推荐
分类导航