引用:
namespace 測試使用 { public partial class Form1 : Form { [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)] [return: System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.Bool)] static extern bool AllocConsole(); [System.Runtime.InteropServices.DllImport("Kernel32")] public static extern void FreeConsole(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { AllocConsole(); //開啟控制台 } } }
輸出一
通常的代碼段: Console.WriteLine(“測試”);
效果顯示:
輸出二:
創建方法類來進行輸出
Shell.WriteLine("注意:啟動程序...");
Shell.WriteLine("\tWritten by wuming");
Shell.WriteLine("{0}:{1}", "警告", "這是一條警告信息。");
Shell.WriteLine("{0}:{1}", "錯誤", "這是一條錯誤信息!");
Shell.WriteLine("{0}:{1}", "注意", "這是一條需要的注意信息。");
Shell.WriteLine("");
Shell.WriteLine("測試",ConsoleColor.DarkRed);
static class Shell { /// <summary> /// 輸出信息 /// </summary> /// <param name="format"></param> /// <param name="args"></param> public static void WriteLine(string message, ConsoleColor GetConsoleColor) { Console.ForegroundColor = GetConsoleColor; Console.WriteLine(@"[{0}]{1}", DateTimeOffset.Now, message); } /// <summary> /// 輸出信息 /// </summary> /// <param name="format"></param> /// <param name="args"></param> public static void WriteLine(string format, params object[] args) { WriteLine(string.Format(format, args)); } /// <summary> /// 輸出信息 /// </summary> /// <param name="output"></param> public static void WriteLine(string output) { Console.ForegroundColor = GetConsoleColor(output); Console.WriteLine(@"[{0}]{1}", DateTimeOffset.Now, output); } /// <summary> /// 根據輸出文本選擇控制台文字顏色 /// </summary> /// <param name="output"></param> /// <returns></returns> private static ConsoleColor GetConsoleColor(string output) { if (output.StartsWith("警告")) return ConsoleColor.Yellow; if (output.StartsWith("錯誤")) return ConsoleColor.Red; if (output.StartsWith("注意")) return ConsoleColor.Green; return ConsoleColor.Gray; } }
效果顯示: