LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【C#.net】用于Windows控制台程序开发的开源控件库

admin
2025年1月22日 13:25 本文热度 333

PromptPlus 是一个专注于 .NET Core 的命令行工具包,它为开发者提供了一套丰富的控件和强大的命令,用来创建专业的交互式的命令行应用程序。这个库简化了命令行界面(CLI)应用的开发过程,使得开发者可以更容易地添加各种输入控件和增强用户体验。此库是使用C#开发的,目标平台支持 netstandard2.1, .NET 6 , .NET 7 和 .NET 8。


主要功能和特点:

多样的输入控件:

支持多种类型的用户输入,如文本、密码、选择列表、复选框、滑块等。

提供更复杂的控件,例如日历、表格、文件浏览器等。

高度定制化:

开发者可以根据需要自定义每个控件的外观和行为,包括颜色、样式以及验证规则。

支持绑定数据源到控件,实现动态内容加载。

跨平台支持:

由于是基于 .NET Core 构建,因此可以在 Windows、Linux 和 macOS 上运行。

异步操作:

允许使用异步方法处理长时间运行的任务而不阻塞用户界面。

事件驱动编程模型:

支持通过事件监听用户交互,如按键、选择变化等,从而做出响应。

国际化与本地化:

内置对多语言的支持,方便创建面向全球用户的 CLI 应用。

易于集成:

可以轻松地将 PromptPlus 集成到现有的 .NET Core 项目中。

文档和社区支持:

提供详细的官方文档和活跃的开源社区,有助于解决问题并获取最佳实践。


安装及使用:

1、使用命令进行安装:

Install-Package PromptPlus   或者dotnet add package PromptPlus

2、使用VS的Nuget包管理器直接搜索添加引用


安装完成后,按照官方文档中的指导,在代码里引入相应的命名空间,并根据需求创建和配置所需的控件。


部分控件示例:

Banner


Browser


条形图


进度条


日历


输入及验证



开关


表格


代码编写支持流式编程,比如以下代码:

PromptPlus.Setup((cfg) =>{    cfg.PadLeft = 2;    cfg.PadRight = 2;    cfg.Culture = new CultureInfo("en-us");    cfg.BackgroundColor = ConsoleColor.Blue;});PromptPlus.Join()    .SingleDash($"[yellow]Console Information[/]", DashOptions.DoubleBorder, 1 /*extra lines*/);    .WriteLine($"IsTerminal: {PromptPlus.IsTerminal}");    .WriteLine($"IsUnicodeSupported: {PromptPlus.IsUnicodeSupported}");    .WriteLine($"OutputEncoding: {PromptPlus.OutputEncoding.EncodingName}");    .WriteLine($"ColorDepth: {PromptPlus.ColorDepth}");    .WriteLine($"BackgroundColor: {PromptPlus.BackgroundColor}");    .WriteLine($"ForegroundColor: {PromptPlus.ForegroundColor}");    .WriteLine($"SupportsAnsi: {PromptPlus.SupportsAnsi}");    .WriteLine($"Buffers(Width/Height): {PromptPlus.BufferWidth}/{PromptPlus.BufferHeight}");    .WriteLine($"PadScreen(Left/Right): {PromptPlus.PadLeft}/{PromptPlus.PadRight}\n");PromptPlus    .KeyPress()    .Config(cfg =>    {        cfg.HideAfterFinish(true)          .ShowTooltip(false          .ApplyStyle(StyleControls.Tooltips,Style.Plain.Foreground(Color.Grey100));    })     .Spinner(SpinnersType.Balloon)    .Run();

运行效果如下:


PromptPlus支持4/8/24位颜色,在代码中可以使用以下方式编写:

直接指定颜色PromptPlus.WriteLine("[RGB(255,0,0) ON WHITE]Test[YELLOW] COLOR [/] BACK COLOR [/] other text");PromptPlus.WriteLine("[RGB(255,0,0):WHITE]Test[YELLOW] COLOR [/] BACK COLOR [/] other text");PromptPlus.WriteLine("[#ff0000 ON WHITE]Test [YELLOW] COLOR [/] BACK COLOR [/] other text");PromptPlus.WriteLine("[RED ON WHITE]Test[YELLOW] COLOR [/] BACK COLOR [/] other text");PromptPlus.WriteLine("[RED:WHITE]Test[YELLOW] COLOR [/] BACK COLOR [/] other text");
通过Style指定PromptPlus.WriteLine("Test", new Style(Color.WhiteColor.RedOverflow.None));PromptPlus.WriteLine("Test", new Style(new Color(255255255), Color.RedOverflow.None));PromptPlus.WriteLine("Test", new Style(Color.FromConsoleColor(ConsoleColor.White), Color.RedOverflow.None));PromptPlus.WriteLine("Test", new Style(Color.FromInt32(255), Color.RedOverflow.None));
在控件上指定PromptPlus    .Input("Input [blue]sample2[/]", "with [yellow]description[/]")    .Run();

PromptPlus支持两种数据验证的书写方法
private class MylCass{    [Required(ErrorMessage = "{0} is required!")]    [MinLength(3, ErrorMessage = "Min. Length = 3.")]    [MaxLength(5, ErrorMessage = "Max. Length = 5.")]    [Display(Prompt ="My Input")]    public string MyInput { getset; }}
以及
PromptPlus    .Input("Input sample2""import validator from decorate")    .Default(inst.Text)    .AddValidators(PromptValidators.ImportValidators(inst,x => x!.Text!))    .Run();

PromptPlus的开源地址为:https://github.com/FRACerqueira/PromptPlus

官方文档地址:https://fracerqueira.github.io/PromptPlus


如果无法访问GitHub,可以查看以下文章

加速访问GitHub

IceSky,公众号:IceSky


阅读原文:原文链接


该文章在 2025/1/22 17:10:37 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved