程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#控制台輸出進度和百分比的實例代碼

C#控制台輸出進度和百分比的實例代碼

編輯:C#基礎知識
代碼如下:

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;

 namespace ConsoleApplication1
 {
     class Program
     {
         static void Main(string[] args)
         {
             bool isBreak = false;
             ConsoleColor colorBack = Console.BackgroundColor;
             ConsoleColor colorFore = Console.ForegroundColor;

             //第一行信息           
             Console.WriteLine("****** 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);
         }
     }
 }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved