推荐一个.Net开源项目,方便我们基于控制台创建图形用户界面(GUI)应用程序。
01 项目简介
ConsoleGUI是一个简单的布局驱动.NET框架,用于创建基于控制台的GUI应用程序。
核心功能:
-  **布局驱动:**与WPF或HTML类似,是完全布局驱动的。开发人员不需要指定控件的确切坐标,而是让堆栈面板、停靠面板和其他布局管理器自动处理。 
-  **支持跨平台:**框架不依赖于特定平台,且没有外部依赖。它针对.NET标准2.0,可以在Windows和Linux机器上运行。 
-  **基本控件:**提供了一系列基本控件,如文本框(TextBox)、文本块(TextBlock)、网格(DataGrid)等。 
-  响应式设计:如果窗口大小没有显式设置,布局将根据窗口的初始大小进行调整。但框架不自动检测终端大小变化。 
-  **线程和兼容性:**不是线程安全的,所有UI更改应在同一线程上执行。默认情况下,ConsoleGUI使用真彩色格式,通过支持多达1678万种前景和背景颜色。如果终端不支持真彩色,可以使用兼容性模式。 
02 使用方法
1、安装依赖库
Install-Package ConsoleGUI
2、引用命名空间
using ConsoleGUI;
using ConsoleGUI.Controls;
using ConsoleGUI.Space;
3、示例
using ConsoleGUI;
using ConsoleGUI.Controls;
using ConsoleGUI.Input;
using ConsoleGUI.Space;
ConsoleManager.Setup();
ConsoleManager.Resize(new Size(50, 10));
// 创建文本块作为欢迎信息
var welcomeTextBlock = new TextBlock
{
    Text = "ConsoleGUI使 用 示 例!",
};
// 创建文本框供用户输入
var inputTextBox = new TextBox();
// 创建一个垂直堆栈面板来垂直排列控件
var verticalStackPanel = new VerticalStackPanel();
verticalStackPanel.Add(welcomeTextBlock);
verticalStackPanel.Add(inputTextBox);
ConsoleManager.Content = verticalStackPanel;
var inputListeners = new IInputListener[] { inputTextBox };
while (true)
{
    // 处理用户输入
    ConsoleManager.ReadInput(inputListeners);
    Thread.Sleep(50); // 短暂休眠以避免CPU占用过高
}
4、效果

03 项目地址
https://github.com/TomaszRewak/C-sharp-console-gui-framework
- End -
推荐阅读
轻量级、高性能的ASP.NET WebAPI开发框架:6个热门开源项目汇总!
DynamicExpresso:强大的动态执行C#表达式解析器
MockQueryable:LINQ查询模拟测试工具
.NET日志库:Serilog、NLog、Log4Net等十大开源日志库大盘点!
ExcelDataReader:一个.Net高性能Excel开源读取器













![[Meachines] [Easy] Sunday Finger网络用户枚举+Wget文件覆盖权限提升](https://img-blog.csdnimg.cn/img_convert/3a39ba5c5d6bcb2654d26eeb50e586f8.jpeg)





