基於C#的控制台的進度提示實現


在網上搜了很多關鍵詞,比如C#控制台如何刪除上一行輸出,C#如何控制台刪除部分內容,但是都沒有很好的教程。

所以自己動手研究一下。也不是什么高深的東西,如下:

 

用C#開發了一個爬蟲下載器,為了知道還剩下多少張圖片未下載完,就在控制台里面寫了一個剩余圖片提示。

效果如下,相當丑陋:

 

那么有什么辦法能在一行中輸出這些信息,自動把上一行擦除呢?看下面的代碼就可以了!

//System.Console.SetCursorPosition(0,4);//定位光標位置,第四行第一位
//System.Console.CursorTop;//獲取已輸出文本的行數
//System.Console.BufferWidth;//獲取控制台的寬度
Console.WriteLine("downloading , wait a moment please ...");
for (int i = 0; i <= 100; i++)
{
    Thread.Sleep(100);
    Console.WriteLine("                    ");
    Console.SetCursorPosition(0, Console.CursorTop - 1);
    Console.Write(i + "% downloaded ...");
}
Console.WriteLine("\ndownload completely !");
Console.ReadKey();

效果圖如下:

 

參考:

微軟官方文檔:Console.SetCursorPosition 方法 (Int32, Int32)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM