C#进度条之控制台显示浅析

C#进度条之控制台显示是如何实现的呢?我来看看实际的实现

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TextProgressing { { //C#进度条之控制台显示 static void Main(string[] args) { bool isBreak = false; ConsoleColor colorBack = Console.BackgroundColor; ConsoleColor colorFore = Console.ForegroundColor;//第一行信息 Console.WriteLine("** jinjazz 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 ( //C#进度条之控制台显示 Console.KeyAvailable && System.Console.ReadKey(true).Key == ConsoleKey.Enter) { //C#进度条之控制台显示 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); } } //C#进度条之控制台显示 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值