C# 代码构建
使用 C# 定义窗体和控件。无需 XAML,可以直接处理事件和 UI 逻辑。
来自项目仓库的真实 ControlGallery 截图,展示了 DataGridView。具体外观取决于版本和主题。
功能
使用 C# 定义窗体和控件。无需 XAML,可以直接处理事件和 UI 逻辑。
框架拥有自有控件树、布局系统和输入处理机制,自行绘制应用界面。
提供文本框、列表、表格、菜单、对话框和容器。数据绑定将界面与应用状态关联起来。
支持主题令牌、资源继承和运行时主题切换。可以用 JSON 定义主题。
两张来自仓库文档的真实截图,展示使用 ModernFormsNext 控件构建的不同布局。
dotnet new install ModernFormsNext.Templates::1.11.1
dotnet new mfn-app -n MyApp
cd MyApp
dotnet run
代码示例
这是一个完整的 Windows 应用入口示例,项目需要引用 ModernFormsNext。
如果项目由模板创建,可以使用现有入口,也可以用此示例替换。
using System.Drawing;
using ModernFormsNext;
internal static class Program
{
[STAThread]
private static void Main()
=> Application.Run(new MainForm());
}
public sealed class MainForm : Form
{
public MainForm()
{
Text = "Hello, ModernFormsNext";
Size = new Size(800, 600);
var button = new Button
{
Text = "Kliknij mnie",
Bounds = new Rectangle(24, 24, 160, 40)
};
button.Click += (_, _) => button.Text = "Działa!";
Controls.Add(button);
}
}
工具
在 ModernFormsNext 设计器中创建窗体和 UserControl。通过 VSIX 扩展集成到 Visual Studio。
设计器及其工作流程仍在持续完善。请选择与框架版本匹配的扩展。
发行版本与 VSIX 扩展在设计器中添加控件、设置属性并调整布局。
文档保存界面的结构与设置。
生成器会创建 .Designer.cs 文件。应用逻辑写在窗体代码中。
开发状态与平台
ModernFormsNext 正在持续开发,各平台的功能支持有所不同。
提供运行时与设计器,也是主要测试环境。
共享控件和 Skia 绘图表面。窗口功能及平台服务尚未与 Windows 完全对齐。
目前不支持在这些平台上运行应用。