前言
对于.NET开发者而言,构建控制台应用程序时,如何提升用户交互的流畅性和满意度,是一个持续探索与优化的话题。今天大姚给大家分享2个功能强大的.NET控制台应用帮助库,希望可以帮助大家能够快速的构建漂亮、强交互性、丰富功能的控制台应用程序。
Terminal.Gui
Terminal.Gui是一个跨平台(Windows、Mac 和 Linux/Unix )、开源(遵循 MIT License)、免费的用于为.NET、.NET Core 和 Mono 构建丰富功能的控制台应用程序的工具包,并且该工具包适用于需要强交互性的场景。
开源地址:https://github.com/gui-cs/Terminal.Gui
![5ca718261ea1254aa4804f0bc7cd7b03.gif](https://img-blog.csdnimg.cn/img_convert/5ca718261ea1254aa4804f0bc7cd7b03.gif)
项目特点
跨平台支持:可在Windows、Mac和Linux/Unix上运行。
键盘和鼠标输入:支持键盘和鼠标输入,包括拖放支持。
灵活布局:同时支持绝对布局和创新的计算布局系统 (Computed Layout)。Computed Layout 使控件之间的相对布局变得容易,并支持动态终端 UI。
剪贴板支持:通过 Clipboard 类提供文本的剪切、复制和粘贴功能。
任意视图:所有可见的 UI 元素都是 View 类的子类,这些子类可以包含任意数量的子视图。
高级应用特性:主循环支持处理事件、空闲处理程序、计时器和监控文件描述符。大多数类对于线程来说都是安全的。
响应式扩展 (Reactive Extensions):使用响应式扩展并受益于提高的代码可读性,以及应用 MVVM 模式和 ReactiveUI 数据绑定的能力。
Spectre.Console
Spectre.Console是一个.NET开源且免费的类库帮你轻松的创建漂亮、美观的.NET控制台应用程序。
开源地址:https://github.com/spectreconsole/spectre.console
![1a61374dc862c1df60ee47fc2397c295.png](https://img-blog.csdnimg.cn/img_convert/1a61374dc862c1df60ee47fc2397c295.png)
![0f36c9b0ac27942e243a073942138fac.png](https://img-blog.csdnimg.cn/img_convert/0f36c9b0ac27942e243a073942138fac.png)
项目特点
该库有着丰富的组件,其中包括表格、网格、面板、日历、以及画布图像等。
支持文本样式的最常见的 SRG 参数,如粗体、暗淡、斜体、下划线、删除线和闪烁文本。
支持终端中的3/4/8/24位颜色。该库将检测当前终端的功能,并根据需要降低颜色。