首页 > 编程语言 >C# 控制台进度条

C# 控制台进度条

时间:2024-03-24 09:15:38浏览次数:22  
标签:Console 进度条 C# ConsoleColor BackgroundColor 控制台

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

}

 

标签:Console,进度条,C#,ConsoleColor,BackgroundColor,控制台
From: https://www.cnblogs.com/xs-xs/p/18092053

相关文章

  • C# 获取网络时间方法
    //获取网络时间方法publicstaticDateTimeGetNetworkTime(){try{//defaultWindowstimeserver//用域名获取时候用这里//stringntpServer="time.windows.com";//NTPmessagesize-16bytesofthedigest(RFC2030)......
  • C# IO.Directory 操作目录
    //参考来源:https://learn.microsoft.com/zh-cn/dotnet/api/system.io.directory?view=net-8.0//Directory公开用于通过目录和子目录进行创建、移动和枚举的静态方法。此类不能被继承。/**Directory将类用于复制、移动、重命名、创建和删除目录等典型操作。*若要创......
  • C# 获取磁盘信息
    namespaceConsoleApp_DriveInfo{internalclassProgram{staticvoidMain(string[]args){Driveinfo();}staticvoidDriveinfo(){DriveInfodriveInfo=newDriveInfo("d:/&qu......
  • C# 文件读写 IO.FileInfo
    ///参考链接https://learn.microsoft.com/zh-cn/dotnet/api/system.io.fileinfo?view=net-8.0//需要直到的是fileinfo主要用于查看文件信息,搭配FileStream或StreamWrite可以操作文件IO,FileStream需要实例化,可以接受fileinfo的对象usingMicrosoft.VisualBasic;us......
  • C# 文件监视 FileSystemWatcher
    //官方帮助Console:https://learn.microsoft.com/zh-cn/dotnet/api/system.io.filesystemwatcher?view=net-8.0//官方帮助WPF:https://learn.microsoft.com/zh-cn/dotnet/fundamentals/runtime-libraries/system-io-filesystemwatcher/*FileSysytemWatcher类介绍用......
  • C# 压缩文件 GZipStream
    //官方文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.io.compression.gzipstream?view=net-8.0/*GZipStream介绍*此类表示gzip数据格式,该格式使用行业标准算法进行无损文件压缩和解压缩。格式包括用于检测数据损坏的循环冗余检查值。gzip数据格式使用与......
  • C# 数据流 FileStream
    //StreamMSHelpManual:https://learn.microsoft.com/zh-cn/dotnet/api/system.io.stream?view=net-8.0//FileStream官方手册:https://learn.microsoft.com/zh-cn/dotnet/api/system.io.filestream?view=net-8.0//StreamWriter:https://learn.microsoft.com/zh-cn/dotne......
  • C# GUI_Async_await异步报告
    //.net8环境WinformnamespaceGUI_Async_await异步报告_供参考_{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse)......
  • YOLOv9有效改进|加入CVPR2020的Bifpn。
    专栏介绍:YOLOv9改进系列|包含深度学习最新创新,助力高效涨点!!!一、论文摘要        Bifpn是RT-DETR中使用的特征提取模块。二、Bifpn模块详解 2.1模块简介       Bifpn: 重复加权双向特征金字塔网络 。本文用于替换YOLOv9中的FPN+PAN结构。三、 ......
  • EXCEL入门,从认识界面开始
    目录一、工作簿和工作表二、功能区和选项卡三、单元格的名称和内容四、区域及选择方法五、对象和上下文选项卡。         六、问题一:有些工作表为什么找不着?二:我的功能区怎么不见了?三:为什么有些功能我的excel里没有?一、工作簿和工作表整个excel文件称为......