← 所有專案

UI 框架 · 開放原始碼

持續開發中

ModernFormsNext

桌面介面。
直接用 C# 編寫。

受 WinForms 啟發的表單與事件模型,具備自有控制項和版面配置系統,並在 .NET 10 上透過 SkiaSharp 繪製。

功能

從 C# 開始。

以程式碼建構介面

使用 C# 定義表單與控制項,無需 XAML,可直接處理事件與介面邏輯。

SkiaSharp 繪製

自有的控制項樹、版面配置系統與輸入處理機制,由框架自行繪製應用程式介面。

控制項與資料繫結

文字輸入框、清單、表格、選單、對話方塊與容器。透過資料繫結,將介面與應用程式狀態連接起來。

主題與資源

主題權杖、可繼承的資源,以及執行時切換主題。主題也能以 JSON 定義。

範例應用程式

兩張取自儲存庫文件的真實截圖,展示以 ModernFormsNext 控制項建構的不同版面配置。

Windows 上的 Explorer:ModernFormsNext 範例應用程式,包含工具列、資料夾樹與檔案清單。
Explorer · Windows查看完整截圖

Explorer:提供資料夾導覽與檔案表格的範例應用程式。

Windows 上的 Outlaw:包含郵件資料夾、訊息清單與預覽窗格的範例應用程式。
Outlaw · Windows查看完整截圖

Outlaw:郵件介面範例。畫面中的訊息與寄件者皆為範例程式碼中定義的示範資料。

快速入門

啟動第一個視窗。

你需要 Windows 與 .NET 10 SDK。安裝範本、建立專案,即可執行應用程式。

以下指令固定使用 1.11.1 版。

安裝指南
終端機 · WindowsPowerShell
dotnet new install ModernFormsNext.Templates::1.11.1
dotnet new mfn-app -n MyApp
cd MyApp
dotnet run

範例

一個表單、一個按鈕、一個事件。

這是 Windows 應用程式的完整進入點,專案需參考 ModernFormsNext。

若專案是透過範本建立,請使用既有的進入點,或將其替換為這個範例。

Program.csC#
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 設計工具建立表單與使用者控制項。Visual Studio 整合以 VSIX 擴充功能提供。

設計工具與工作流程仍持續演進。請使用與框架版本相符的擴充功能。

發布版本與 VSIX 擴充功能
  1. 設計表單

    在設計工具中加入控制項、設定屬性,並調整版面配置。

  2. 儲存 .mfdesign 文件

    文件會保存介面結構與設定。

  3. 接著編寫 C#

    產生器會建立 .Designer.cs 檔案。請在表單的程式碼中編寫應用程式邏輯。

開發狀態與平台

以 Windows 為優先。

ModernFormsNext 持續開發中,各平台的支援程度有所不同。

.NET 10C#MIT 授權
Windows
主要平台

提供執行環境與設計工具,也是主要驗證平台。

Android
實驗階段

共用控制項與 Skia 繪圖表面。視窗功能與平台服務尚未完全對應 Windows 的功能。

macOS / Linux
尚無受支援的後端

目前不支援在這些平台上執行應用程式。