这年头记得习惯用ConsoleApplication的人恐怕也没有多少了,系统工具无论巨细,一律拖个巨大的form出来..其实控制台,写得好点也是很有趣的,比如这个效果
下面代码演示了如何在控制台下展示一个进度条的工作过程。原理很简单,就把他当成一张纸,不停的写了擦,擦了写,当中的技巧全靠想象力,因为这个类实在是太简单了。
using System;
namespace ConsoleApplication11
...{
class Program
...{
/**//*
* ConsoleApplication也精彩。
* 作者 jinjazz
* 作者blog http://blog.csdn.net/jinjazz
* 演示功能 windows控制台下的进度条
*/
public static void Main()
...{
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 (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);
}
}
}
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!