C-sharp-console-gui-framework:C#控制台应用程序的GUI框架

推荐一个.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开源读取器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐趣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值