ConsoleApplication也精彩,一个控制台进度条的示例。
这年头记得习惯用ConsoleApplication的人恐怕也没有多少了,系统工具无论巨细,一律拖个巨大的form出来..其实控制台,写得好点也是很有趣的,比如这个效果http://p.blog.csdn.net/images/p_blog_csdn_net/jinjazz/355056/o_Console.JPG下面代码演示了如何在控制台下展示一个进度条的工作过程。原理很简单,就把他当成一张纸,不停的写了擦,擦了写,当中的技巧全靠想象力,因为这个类实在是太简单了。
<div style="padding: 4px 5.4pt; width: 95%;">http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gifusingSystem;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gifnamespaceConsoleApplication11
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gifhttp://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif...{
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifclassProgram
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gifhttp://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif...{
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gifhttp://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif/**//*
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif*ConsoleApplication也精彩。
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif*作者jinjazz
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif*作者bloghttp://blog.csdn.net/jinjazz
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif*演示功能windows控制台下的进度条
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif*/
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifpublicstaticvoidMain()
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gifhttp://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif...{
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifboolisBreak=false;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsoleColorcolorBack=Console.BackgroundColor;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsoleColorcolorFore=Console.ForegroundColor;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//第一行信息
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.WriteLine("***********jinjazznowworking...******");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//第二行绘制进度条背景
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.BackgroundColor=ConsoleColor.DarkCyan;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.giffor(inti=0;++i<=25;)
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gifhttp://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif...{
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.Write("");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif}
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.WriteLine("");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.BackgroundColor=colorBack;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//第三行输出进度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.WriteLine("0%");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//第四行输出提示,按下回车可以取消当前进度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.WriteLine("<PressEnterToBreak.>");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//-----------------------上面绘制了一个完整的工作区域,下面开始工作
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//开始控制进度条和进度变化
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.giffor(inti=0;++i<=100;)
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gifhttp://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif...{
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//先检查是否有按键请求,如果有,判断是否为回车键,如果是则退出循环
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifif(Console.KeyAvailable&&System.Console.ReadKey(true).Key==ConsoleKey.Enter)
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gifhttp://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif...{
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifisBreak=true;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifbreak;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif}
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//绘制进度条进度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.BackgroundColor=ConsoleColor.Yellow;//设置进度条颜色
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.SetCursorPosition(i/4,1);//设置光标位置,参数为第几列和第几行
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.Write("");//移动进度条
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.BackgroundColor=colorBack;//恢复输出颜色
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//更新进度百分比,原理同上.
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.ForegroundColor=ConsoleColor.Green;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.SetCursorPosition(0,2);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.Write("{0}%",i);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.ForegroundColor=colorFore;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//模拟实际工作中的延迟,否则进度太快
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifSystem.Threading.Thread.Sleep(100);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif}
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//工作完成,根据实际情况输出信息,而且清楚提示退出的信息
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.SetCursorPosition(0,3);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.Write(isBreak?"break!!!":"finished.");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.WriteLine("");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif//等待退出
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gifConsole.ReadKey(true);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif}
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif}
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif}
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif
页:
[1]