大概已經習慣了黑底白字的控制台程式了:今天貼一下實現控制台輸出彩色文字及背景的最簡單方法! 方法1: 1.設置控制台背景顏色; 2設置控制台前景色; 3調用WriteLine(XXX)方法輸出內容 4.調用ResetColor()方法恢復控制台 下麵是一個簡單實例: class Program { ...
大概已經習慣了黑底白字的控制台程式了:今天貼一下實現控制台輸出彩色文字及背景的最簡單方法!
方法1:
1.設置控制台背景顏色;
2設置控制台前景色;
3調用WriteLine(XXX)方法輸出內容
4.調用ResetColor()方法恢復控制台
下麵是一個簡單實例:
class Program
{
[MTAThread]
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Red;
WriteLine("測試輸出綠底紅字");
Console.ResetColor();
Console.BackgroundColor = Console.BackgroundColor;
Console.ForegroundColor = ConsoleColor.Blue;
WriteLine("測試輸出藍色字");
Console.ResetColor();
}
}
方法2.調用Win32API:
[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);//設置屬性
const UInt32 STD_OUTPUT_HANDLE = unchecked((UInt32)(-11));
IntPtr consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
string s = "Hello World!";
for (int i = 0; i < s.Length; i++)
{
SetConsoleTextAttribute(consoleHandle, (ushort)(i + 1));
Console.Write(s[i]);
}
Console.ReadLine();