`
csstome
  • 浏览: 1521862 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ConsoleApplication也精彩,一个控制台进度条的示例。

阅读更多

这年头记得习惯用ConsoleApplication的人恐怕也没有多少了,系统工具无论巨细,一律拖个巨大的form出来..其实控制台,写得好点也是很有趣的,比如这个效果

下面代码演示了如何在控制台下展示一个进度条的工作过程。原理很简单,就把他当成一张纸,不停的写了擦,擦了写,当中的技巧全靠想象力,因为这个类实在是太简单了。

using System;
namespace ConsoleApplication11
... {
class Program
... {
/**/ /*
*ConsoleApplication也精彩。
*作者jinjazz
*作者blog
http://blog.csdn.net/jinjazz
*演示功能windows控制台下的进度条
*/

public static void Main()
... {

bool isBreak = false ;
ConsoleColorcolorBack
= Console.BackgroundColor;
ConsoleColorcolorFore
= Console.ForegroundColor;

// 第一行信息
Console.WriteLine( " ***********jinjazznowworking...****** " );

// 第二行绘制进度条背景
Console.BackgroundColor = ConsoleColor.DarkCyan;
for ( int i = 0 ; ++ i <= 25 ;)
... {
Console.Write(
" " );
}

Console.WriteLine(
" " );
Console.BackgroundColor
= colorBack;

// 第三行输出进度
Console.WriteLine( " 0% " );
// 第四行输出提示,按下回车可以取消当前进度
Console.WriteLine( " <PressEnterToBreak.> " );

// -----------------------上面绘制了一个完整的工作区域,下面开始工作

// 开始控制进度条和进度变化
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 application

    【标题】"万年历 控制台程序 console application" 是一个使用C语言编写的控制台应用程序,其核心功能是展示从公元1年开始直至9999年的完整日历。这样的程序设计旨在帮助用户查看任意年份的日历,尤其是对于那些对...

    java控制台输出百分比进度条示例

    本文将详细介绍如何在Java控制台上实现一个简单的百分比进度条。 首先,我们要明白Java控制台输出的基本原理。在Java中,`System.out.print()` 和 `System.out.println()` 方法用于在控制台上打印文本。`System.out...

    ConsoleApplication1_zip_consoleapplication_

    在IT行业中,`ConsoleApplication1`通常指的是一个基于控制台的C#或.NET应用程序,它作为项目的入口点,用户可以通过命令行与之交互。在这个场景中,`ConsoleApplication1_zip_consoleapplication_`可能是这个项目的...

    C# Console 控制台 ProgressBar 进度条

    用于控制台的进度条控件

    Console进度条

    在IT领域,尤其是在命令行界面或控制台应用中,"Console进度条"是一个常见的功能,它为用户提供了程序运行状态的视觉反馈。这种技术尤其在处理长时间运行的任务时非常有用,因为它能让用户知道程序并未卡住,而是...

    无窗体的Delphi7 CONSOLE application程序

    这个特定的压缩包文件标题“无窗体的Delphi7 CONSOLE application程序”指向了一个特殊的项目类型——控制台应用程序。在Delphi7中,通常我们会创建窗口应用程序,但通过特定的设置,我们可以创建一个不包含用户界面...

    QT控制台console用GetAsyncKeyState函数获取键盘响应

    以下是一个简单的示例,展示了如何在QT控制台应用中使用`GetAsyncKeyState`: ```cpp #include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); while (true) { if ...

    ConsoleApplication1.rar

    【描述】虽然描述为空,我们可以推测 "ConsoleApplication1" 可能是一个使用某种编程语言(如C#、C++或Java)编写的示例项目。它可能包含了源代码文件、编译脚本、配置文件以及必要的资源。开发者通常会将这样的项目...

    ConsoleApplication1.zip

    总结来说,“ConsoleApplication1.zip”是一个实用的示例,展示了如何在C# Console应用程序中集成和使用Log4net进行日志记录。通过学习这个例子,开发者可以掌握Log4net的基本用法,并将其应用到自己的项目中,提高...

    ConsoleApplication1.7z

    标题“ConsoleApplication1.7z”暗示我们正在讨论一个C#开发的控制台应用程序,它可能是一个用于处理Word文档的工具。NPOI是一个流行的开源库,尤其在.NET环境中,用于读写Microsoft Office文件,包括Excel和Word。...

    ConsoleApplication2_Csharp_func_action_Action!_

    在`ConsoleApplication2`项目中,可能包含了一些示例,演示如何在不同的上下文中使用`Action`和`Func`,比如控制台应用程序中可能有多个方法,每个方法接受不同数量的参数,并且有的返回值,有的不返回。`Console...

    Console-Graphics, 在 Windows 控制台窗口中,运行一个完整的3D 图形引擎.zip

    Console-Graphics, 在 Windows 控制台窗口中,运行一个完整的3D 图形引擎 Console-Graphics a.k.a Hello World =================如果你在构建这个项目时遇到麻烦,你可以在 下载一个构建。在 Windows 命令提示符下...

    ConsoleApplication2_consolec#_

    标题中的"ConsoleApplication2_consolec#"表明这是一个基于C#语言的控制台应用程序示例,而“console sample 2 test”描述则暗示这是第二个测试用例,可能是为了展示或练习C#中的控制台交互功能。标签"consolec#...

    ConsoleApplication1.exe

    ConsoleApplication1.exe

    consoleapplication2.exe

    consoleapplication2.exe

    WPF控制台输出Console可隐藏可显示

    2. **创建控制台**:在应用程序启动时,你可以通过调用`System.Diagnostics.Process.Start("cmd.exe")`或`System.Diagnostics.Process.Start("powershell.exe")`来启动一个新的控制台进程。然后,通过`...

    ConsoleApplication1_C++_

    标题 "ConsoleApplication1_C++_" 暗示我们正在处理一个基于C++的控制台应用程序,可能是一个命令行界面的项目。描述 "c++ console app encrypt and decrypt" 提供了更多的信息,指出这个程序实现了加密和解密功能。...

    ConsoleApplication2_c#predicate_

    标题中的"ConsoleApplication2_c#predicate_"表明这是一个关于C#编程的示例应用,其中可能涉及到了Predicate委托的使用。Predicate在C#中是一个代表返回布尔值的委托类型,常用于 LINQ 查询表达式中进行条件判断。...

Global site tag (gtag.js) - Google Analytics