• 基于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("
    download completely !");
    Console.ReadKey();

    效果图如下:

    参考:

    微软官方文档:Console.SetCursorPosition 方法 (Int32, Int32)

  • 相关阅读:
    数论 UVA 10943
    数论 UVA 11889
    数论 UVA 11388
    UVA 572
    hdu 1016
    poj 1308
    poj 1363
    java web-----servelet
    java IO文件读写例子(OutputStream,InputStream,Writer,Reader)
    java web环境配置类型问题
  • 原文地址:https://www.cnblogs.com/chenyangsocool/p/7444940.html
Copyright © 2020-2023  润新知