這年頭記得習慣用ConsoleApplication的人恐怕也沒有多少了,系統工具無論巨細,一律拖個巨大的form出來..其實控制台,寫得好點也是很有趣的,比如這個效果
下面代碼演示了如何在控制台下展示一個進度條的工作過程。原理很簡單,就把他當成一張紙,不停的寫了擦,擦了寫,當中的技巧全靠想象力,因為這個類實在是太簡單了。
using System; namespace ConsoleApplication11 ...{ class Program ...{ /**//* * ConsoleApplication也精彩。 * 作者 jinjazz * 作者blog http://blog.csdn.net/jinjazz * 演示功能 windows控制台下的進度條 */ public static void Main() ...{ bool isBreak = false; ConsoleColor colorBack = Console.BackgroundColor; ConsoleColor colorFore = Console.ForegroundColor; //第一行信息 Console.WriteLine("*********** jinjazz now working...******"); //第二行繪制進度條背景 Console.BackgroundColor = ConsoleColor.DarkCyan; for (int i = 0; ++i <= 25; ) ...{ Console.Write(" "); } Console.WriteLine(" "); Console.BackgroundColor = colorBack; //第三行輸出進度 Console.WriteLine("0%"); //第四行輸出提示,按下回車可以取消當前進度 Console.WriteLine("<Press Enter To Break.>"); //-----------------------上面繪制了一個完整的工作區域,下面開始工作 //開始控制進度條和進度變化 for (int i = 0; ++i <= 100; ) ...{ //先檢查是否有按鍵請求,如果有,判斷是否為回車鍵,如果是則退出循環 if (Console.KeyAvailable && System.Console.ReadKey(true).Key== ConsoleKey.Enter) ...{ isBreak = true; break; } //繪制進度條進度 Console.BackgroundColor = ConsoleColor.Yellow;//設置進度條顏色 Console.SetCursorPosition(i/4, 1);//設置光標位置,參數為第幾列和第幾行 Console.Write(" ");//移動進度條 Console.BackgroundColor = colorBack;//恢復輸出顏色 //更新進度百分比,原理同上. Console.ForegroundColor = ConsoleColor.Green; Console.SetCursorPosition(0, 2); Console.Write("{0}%", i); Console.ForegroundColor = colorFore; //模擬實際工作中的延遲,否則進度太快 System.Threading.Thread.Sleep(100); } //工作完成,根據實際情況輸出信息,而且清楚提示退出的信息 Console.SetCursorPosition(0, 3); Console.Write(isBreak ? "break!!!" : "finished."); Console.WriteLine(" "); //等待退出 Console.ReadKey(true); } } }