C#控制台輸出進度和百分比的執行個體代碼

來源:互聯網
上載者:User

複製代碼 代碼如下: 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);
}
}
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.