基于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();
效果图如下:
参考:
** Then I looked up at the sky and saw the sun **
posted on 2017-08-28 17:44 chenyangsocool 阅读(3077) 评论(0) 编辑 收藏 举报