C# 控制台进度条

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);
    }

}

 

posted @   edolf  阅读(119)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
  1. 1 天后 卢卢快闭嘴
  2. 2 珊瑚海 周杰伦&梁心颐
  3. 3 梦返 黄霄云
  4. 4 还可以爱吗 黄霄云
  5. 5 讲不出再见 谭咏麟
  6. 6 飞鸟和蝉 任然
  7. 7 下雨天 南拳妈妈
  8. 8 是你 梦然
  9. 9 一生中最爱 谭咏麟
天后 - 卢卢快闭嘴
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

Not available

点击右上角即可分享
微信分享提示