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

声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/418922.html

(0)
联系我们
联系我们
分享本页
返回顶部