百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

盘点3个C#控制台的GUI框架!(c#调用控制台)

ccwgpt 2024-10-21 03:56 34 浏览 0 评论

我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。

盘点3个.Net开源项目,方便我们基于控制台创建图形用户界面(GUI)应用程序。


一、C-sharp-console-gui-framework:简洁GUI框架

ConsoleGUI是一个简单的布局驱动.NET框架,用于创建基于控制台的GUI应用程序。

核心功能:

  • 布局驱动:与WPF或HTML类似,是完全布局驱动的。开发人员不需要指定控件的确切坐标,而是让堆栈面板、停靠面板和其他布局管理器自动处理。
  • 支持跨平台:框架不依赖于特定平台,且没有外部依赖。它针对.NET标准2.0,可以在Windows和Linux机器上运行。
  • 基本控件:提供了一系列基本控件,如文本框(TextBox)、文本块(TextBlock)、网格(DataGrid)等。
  • 响应式设计:如果窗口大小没有显式设置,布局将根据窗口的初始大小进行调整。但框架不自动检测终端大小变化。
  • 线程和兼容性:不是线程安全的,所有UI更改应在同一线程上执行。默认情况下,ConsoleGUI使用真彩色格式,通过支持多达1678万种前景和背景颜色。如果终端不支持真彩色,可以使用兼容性模式。

项目地址:https://github.com/TomaszRewak/C-sharp-console-gui-framework


二、Terminal.Gui:.Net构建跨平台终端的框架

Terminal.Gui 是一个基于 .NET 的跨平台终端用户界面库,它允许开发者使用 C#创建终端应用程序,而无需依赖于传统的图形界面元素。该库提供了一套类似于 Windows Forms 或 WPF 的编程模型,但是专为文本模式的终端设计。

1、跨平台:职场多种操作系统上运行,包括 Windows、macOS 和 Linux。

2、控件丰富:该库提供了一系列的 UI 控件,如按钮(Button)、标签(Label)、文本框(TextField)、列表(ListView)和窗口(Window)。

3、事件驱动:采用事件驱动的编程模型,使得开发者可以为控件定义响应用户输入的事件处理器。

4、键盘和鼠标支持:同时支持键盘和鼠标输入,为终端应用程序提供更丰富的交互方式。

5、高度可定制:开发者可以根据需要定制 UI 的外观,包括颜色、尺寸和布局等。

项目地址:https://github.com/gui-cs/Terminal.Gui


三、Spectre.Console:美观且功能丰富的控制台开源库

Spectre.Console 是一个开源的 .NET 库,用于创建美观、功能丰富的控制台(命令行)应用程序。它提供了一组易于使用的 API,可以帮助开发人员快速构建具有吸引力的控制台界面。

跨平台支持:可以在不同的操作系统和终端上运行,包括 Windows、macOS、Linux、PowerShell、cmd、Terminal 等。

模块化设计:采用了模块化设计,允许开发人员根据需求选择所需的组件。它提供了多个 NuGet 包,涵盖了不同的功能集,例如表格、进度条、对话框等。

易于定制:通过简单的配置和样式设置,可以轻松地定制控制台应用程序的外观和感觉。提供了丰富的样式选项,包括字体、颜色、背景等。

丰富的组件:该库提供了许多预定义的组件,如表格、列表、进度条、输入框、对话框等,可以简化常见任务的实现。

良好的文档和示例:具有详细的文档和示例代码,可以帮助开发人员快速上手和使用该库。

项目地址:https://github.com/spectreconsole/spectre.console

- End -

相关推荐

MFC、Qt、WPF?该用哪个?(mfc和wpf区别)

MFC、Qt和WPF都是流行的框架和工具,用于开发图形用户界面(GUI)应用程序。选择哪个框架取决于你的具体需求和偏好。MFC(MicrosoftFoundationClass)是微软提供的框架,...

一款WPF开发的通讯调试神器(支持Modbus RTU、MQTT调试)

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍Wu.CommTool是一个基于C#、WPF、Prism、MaterialDesign...

关于面试资深C#、WPF开发工程师的面试流程和问题

一、开场(2-3分钟)1.欢迎应聘者,简单介绍公司和面试流程。2.询问应聘者是否对公司或岗位有初步的问题。二、项目经验与技术应用(10-20分钟)1.让应聘者详细介绍几个他参与过的C#、...

C# WPF MVVM模式Prism框架下事件发布与订阅

01—前言处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Prism提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行...

WPF 机械类组件动画制作流程简述(wps上怎么画机械结构简图)

WPF机械类组件动画制作流程简述独立观察员2025年3月4日一、创建组件创建组件用户控件,将组件的各部分“零件”(图片)拼装在一起,形成组件的默认状态:二、给运动部分加上Rend...

C#上位机WinForm和WPF选哪个?工控老油条的"血泪史"

作为一个从互联网卷进工控坑的"跨界难民",在这会摸鱼的时间咱就扯一下上位机开发选框架这档子破事。当年我抱着WPF的酷炫动画一头扎进车间,结果被产线老师傅一句"你这花里胡哨的玩意...

【一文扫盲】WPF、Winform、Electron有什么区别?

近年来,随着软件开发的不断发展,开发人员面临着选择适合他们项目的各种框架和工具的挑战。在桌面应用程序开发领域,WPF、Winform和Electron是三个备受关注的技术。本文将介绍这三者的区别,帮助...

一个开源、免费、强大且美观的WPF控件库

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍HandyControl是一套基于WPF(WindowsPresentationF...

WPF 根据系统主题自动切换浅色与深色模式

WPF根据系统主题自动切换浅色与深色模式控件名:Resources作者:WPFDevelopersOrg-驚鏵原文链接[1]:https://github.com/WPFDevelopers...

WPF与WinForm的本质区别(wpf与maui)

在Windows应用程序开发中,WinForm和WPF是两种主要的技术框架。它们各自有不同的设计理念、渲染机制和开发模式。本文将详细探讨WPF与WinForm的本质区别,并通过示例进行说明。渲染机制W...

Win10/Win11效率神器再进化:微软发布PowerToys 0.90.0版本

IT之家4月1日消息,微软今天(4月1日)更新PowerToys,在最新发布的0.90.0版本中,修复多个BUG之外,引入多项功能更新,为Windows10、Windows...

一款非常漂亮的WPF管理系统(wpf架构及特性)

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!WPFManager项目介绍该项目是一款WPF开发的管理系统,数据库采用的MSSqlserv...

WPF 实现描点导航(wpf按钮的点击事件)

WPF实现描点导航控件名:NavScrollPanel作者:WPFDevelopersOrg-驚鏵原文链接[1]:https://github.com/WPFDevelopersOrg/WPF...

微软更新基于Win11的Validation OS 2504:增强 .NET与WPF

IT之家5月1日消息,科技媒体NeoWin今天(5月1日)发布博文,报道称微软公司更新基于Windows11的ValidationOS,增强支持.NET和WPF,并优...

WPF的技术架构与优势(wpf的前景)

WindowsPresentationFoundation(WPF)是一个现代化的用户界面框架,专为构建Windows应用程序而设计。它通过分层的技术架构和丰富的功能集,提供了全面的应用程...

取消回复欢迎 发表评论: