C#控制台显示进度条
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ProgressBar
{
class Program
{
static void Main(string[] args)
{
ConsoleColor colorBack = Console.BackgroundColor;
ConsoleColor colorFore = Console.ForegroundColor; //Console.SetCursorPosition(0, 0);
Console.WriteLine("Loading...");
////绘制界面
//Console.SetCursorPosition(0, 2);//指定输出位置
//Console.WriteLine("*************** Acknowledged order ***************");
//Console.BackgroundColor = ConsoleColor.DarkCyan;
//for (int i = 0; ++i <= 50; )
//{
// Console.Write(" ");
//}
//Console.SetCursorPosition(0, 3);
//Console.WriteLine(" ");
//Console.BackgroundColor = colorBack;
//Console.SetCursorPosition(0, 4);
//Console.WriteLine("0%");
//Console.SetCursorPosition(0, 5);
//Console.WriteLine("**************************************************"); int count = 0;
int index = 0;
double prePercent = 0; List<string> list = new List<string>() { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
count = list.Count;
//Console.SetCursorPosition(0, 1);
//Console.WriteLine("Total:" + count);
//count = 0;
System.Threading.Thread.Sleep(5000);//模拟加载等待
if (count > 0)
{
//Console.SetCursorPosition(0, 1);
Console.WriteLine("Total:" + count);
//绘制界面
Console.WriteLine("********************* Loading *********************");
Console.BackgroundColor = ConsoleColor.DarkCyan;
for (int i = 0; ++i <= 50; )
{
Console.Write(" ");
}
Console.WriteLine(" ");
Console.BackgroundColor = colorBack;
Console.WriteLine("0%");
Console.WriteLine("***************************************************"); foreach (string str in list)
{
#region 绘制界面
//绘制界面
index++;
double percent;
if (index <= count)
{
percent = (double)index / count;
percent = Math.Ceiling(percent * 100);
}
else
{
percent = 1;
percent = Math.Ceiling(percent * 100);
}
// 开始控制进度条和进度变化
for (int i = Convert.ToInt32(prePercent); i <= percent; i++)
{
//绘制进度条进度
Console.BackgroundColor = ConsoleColor.Yellow;//设置进度条颜色
Console.SetCursorPosition(i / 2, 3);//设置光标位置,参数为第几列和第几行
Console.Write(" ");//移动进度条
Console.BackgroundColor = colorBack;//恢复输出颜色
//更新进度百分比,原理同上.
Console.ForegroundColor = ConsoleColor.Green;
Console.SetCursorPosition(0, 4);
Console.Write("{0}%", i);
Console.ForegroundColor = colorFore;
//模拟实际工作中的延迟,否则进度太快
System.Threading.Thread.Sleep(50);
}
prePercent = percent;
#endregion
} Console.SetCursorPosition(0, 6); Console.WriteLine("Loading Complete.");
}
Console.ReadLine();//会等待直到用户按下回车,一次读入一行
}
}
}
效果图:

C#控制台显示进度条的更多相关文章
- Python 进度条原理
#进度条原理 import sys,time for i in range(50): sys.stdout.write("#")#标准输出 #若不能够按照时间一个一个依次显示,则代 ...
- Android -- 真正的 高仿微信 打开网页的进度条效果
(本博客为原创,http://www.cnblogs.com/linguanh/) 目录: 一,为什么说是真正的高仿? 二,为什么要搞缓慢效果? 三,我的实现思路 四,代码,内含注释 五,使用方法与截 ...
- css3圆形百分比进度条的实现原理
原文地址:css3圆形百分比进度条的实现原理 今天早上起来在查看jquery插件机制的时候,一不小心点进了css3圆形百分比进度条的相关文章,于是一发不可收拾,开始折腾了... 关于圆形圈的实现,想必 ...
- 图解CSS3制作圆环形进度条的实例教程
圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程 首先,当有人说你能不能 ...
- 超炫的HTML5粒子效果进度条 VS 如何规范而优雅地code
最近瞎逛的时候发现了一个超炫的粒子进度效果,有多炫呢?请擦亮眼镜! // _this.ch){ _this.particles.splice(i, 1); } }; this.Particle.p ...
- WPF自定义控件第一 - 进度条控件
本文主要针对WPF新手,高手可以直接忽略,更希望高手们能给出一些更好的实现思路. 前期一个小任务需要实现一个类似含步骤进度条的控件.虽然对于XAML的了解还不是足够深入,还是摸索着做了一个.这篇文章介 ...
- python实现一个控制台下的进度条
今天写练习爬虫感觉很需要个进度条,就随手用函数实现了一个,到了晚上突然感觉到这个东西应该单独写出来以后肯定用用得着. 代码也很简单,我就不细讲了,直接上代码了. 测试代码: instance.py i ...
- 【Win 10 应用开发】通过数据绑定更新进度条
实现 INotifyPropertyChanged 接口可以在属性更改后通知数据的使用者,这个相信大伙儿都知道.于是,有朋友会问:对于要实时显示进度的情况,比如更新进度条,能用这个实现吗? 当然是可以 ...
- springMVC+ajax 文件上传 带进度条
前端代码: <form id= "uploadForm"> <p >指定文件名: <input type="text" name= ...
随机推荐
- ES:AI 注释
为AI做注解: AI已经出第三版,大的框架没有改变,DNN也没有引入AI这本书.第四版网络版应流出,不知道最终定版如何! 强化学习的方法有大幅度更新,但从策略系统更新范畴看来,没有什么实质的改变,只是 ...
- SQL基本概述
DBMS的种类: 层次数据库HDB 面向对象数据库OODB XML数据库XMLDB 键值存储系统KVS 关系数据库RDB RDBMS(关系数据库管理系统),主要5有种: Oracle Database ...
- Vue: axios 请求封装及设置默认域名前缀 (for Vue 2.0)
1. 实现效果 以get方法向http://192.168.32.12:8080/users 发起请求.获取数据并进行处理 this.apiGet('/users', {}) .then((res) ...
- webstorm for mac
mac上使用webstrom,破解的方法 参见博客:Webstorm 破解2016.1 for mac 上面的说明有点问题,博主的写的有点问题.应该是1.先打开到注册页面:2.再关闭webstrom; ...
- Apex语言(三)原始数据类型
1.原始数据类型(Primitive) 整数:Integer 双精度:Double 单精度:Decimal 长整型:Long 日期:Date 日期时间:Datetime 字符串:String ID:I ...
- js俄罗斯方块
<html> <style>.c {margin :1px;width:19px;height:19px;background:red;position:absolute;} ...
- 11.7 【Linq】在查询表达式和点标记之间作出选择
11.7.1 需要使用点标记的操作 最明显的必须使用点标记的情形是调用 Reverse . ToDictionary 这类没有相应的查询表达式语法的方法.然而即使查询表达式支持你要使用的查询操作符,也 ...
- C#那20道题
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- elementUI 时间选择器,时间选择快捷键
elementUI的时间快捷键,使用属性:picker-options="pickerOptions",由于pickerOptions的定义很长,也在其他地方共用,因此建议提取出来 ...
- POJ2116 Death to Binary?
/* POJ2116 Death to Binary? http://poj.org/problem?id=2116 齐肯多夫定理 */ #include <cstdio> #includ ...