使用 Terminal.Gui 构建功能强大的.NET 控制台应用
前言
前段时间分享了一个库帮你轻松的创建漂亮的.NET控制台应用程序 - Spectre.Console的文章教程,然后就有小伙伴提问:.NET控制台应用需要应对强交互性的场景,有什么好的解决方案?,今天大姚给大家分享一款适用于.NET 的跨平台终端 UI 工具包,帮助大家快速构建功能强大的.NET 控制台应用:Terminal.Gui。
 
 项目介绍
Terminal.Gui 是一个跨平台(Windows、Mac 和 Linux/Unix )、开源(遵循 MIT License)、免费的用于为.NET、.NET Core 和 Mono 构建丰富功能的控制台应用程序的工具包,并且该工具包适用于需要强交互性的场景。
项目特点
- 跨平台支持:可在 Windows、Mac 和 Linux/Unix 上运行。 
- 键盘和鼠标输入:支持键盘和鼠标输入,包括拖放支持。 
- 灵活布局:同时支持绝对布局和创新的计算布局系统 (Computed Layout)。Computed Layout 使控件之间的相对布局变得容易,并支持动态终端 UI。 
- 剪贴板支持:通过 Clipboard 类提供文本的剪切、复制和粘贴功能。 
- 任意视图:所有可见的 UI 元素都是 View 类的子类,这些子类可以包含任意数量的子视图。 
- 高级应用特性:主循环支持处理事件、空闲处理程序、计时器和监控文件描述符。大多数类对于线程来说都是安全的。 
- 响应式扩展 (Reactive Extensions):使用响应式扩展并受益于提高的代码可读性,以及应用 MVVM 模式和 ReactiveUI 数据绑定的能力。 
快速上手
安装.NET Core SDK
上手体验之前,我们首先要安装好.NET 运行、开发环境。
- 下载地址:https://dotnet.microsoft.com/zh-cn/download 
 
 安装 Terminal.Gui.Templates
 
 创建一个新的 Terminal.Gui 模板项目
 
 编译并运行项目
 
  
 创建 TerminalGuiExercise 控制台应用
首先我们创建名为:TerminalGuiExercise的控制台应用。
 
  
  
 安装 Terminal.Gui 包
 
 消息框代码
 
 简单的文本用户界面示例代码
创建一个简单的带菜单栏的文本用户界面示例代码:
 
 用户登录示例代码
 
  
  
 项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个 Star 支持💖。
- GitHub 开源地址:https://github.com/gui-cs/Terminal.Gui 
- API Documentation:https://gui-cs.github.io/Terminal.Gui/api/Terminal.Gui 
- 本文示例源码:https://github.com/YSGStudyHards/DotNetExercises/tree/master/TerminalGuiExercise 
优秀项目和框架精选
该项目已收录到 C#/.NET/.NET Core 优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解 C#、.NET 和.NET Core 领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交 PR 推荐或自荐(让优秀的项目和框架不被埋没🤞)。
https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
版权声明: 本文为 InfoQ 作者【追逐时光者】的原创文章。
原文链接:【http://xie.infoq.cn/article/0e5f072f3d61ea30049ae6f3a】。文章转载请联系作者。








 
    
评论