← Všechny projekty

UI framework · Open source

Aktivně vyvíjený

ModernFormsNext

Desktopové UI.
Přímo v C#.

Model formulářů a událostí inspirovaný WinForms. Vlastní ovládací prvky, systém rozvržení a vykreslování přes SkiaSharp na .NET 10.

Funkce

Všechno začíná v C#.

UI v C#

Formuláře a ovládací prvky definujete v C#. Bez XAML, s přímým přístupem k událostem a logice UI.

Vykreslování přes SkiaSharp

Vlastní strom ovládacích prvků, systém rozvržení a zpracování vstupu. Framework si rozhraní aplikace vykresluje sám.

Ovládací prvky a data binding

Textová pole, seznamy, tabulky, nabídky, dialogy a kontejnery. Data binding propojuje rozhraní se stavem aplikace.

Motivy a prostředky

Tokeny motivů, dědičnost prostředků a přepínání motivů za běhu. Motivy lze definovat v JSON.

Ukázkové aplikace

Dva skutečné snímky z dokumentace repozitáře ukazují různá rozvržení vytvořená pomocí ovládacích prvků ModernFormsNext.

Explorer ve Windows: panel nástrojů, strom složek a seznam souborů v ukázkové aplikaci ModernFormsNext.
Explorer · WindowsCelý snímek

Explorer: ukázková aplikace s procházením složek a tabulkou souborů.

Outlaw ve Windows: ukázková aplikace s poštovními složkami, seznamem zpráv a panelem náhledu.
Outlaw · WindowsCelý snímek

Outlaw: ukázka poštovního rozhraní. Zobrazené zprávy a odesílatelé jsou demonstrační data definovaná v kódu příkladu.

Rychlý start

Spusťte své první okno.

Potřebujete Windows a .NET 10 SDK. Nainstalujte šablonu, vytvořte projekt a spusťte aplikaci.

Příkazy záměrně používají verzi 1.11.1.

Průvodce instalací
Terminál · WindowsPowerShell
dotnet new install ModernFormsNext.Templates::1.11.1
dotnet new mfn-app -n MyApp
cd MyApp
dotnet run

Příklad

Formulář. Tlačítko. Událost.

Úplný vstupní bod aplikace pro Windows s referencí na ModernFormsNext.

V projektu vytvořeném ze šablony můžete použít stávající vstupní bod nebo jej nahradit tímto příkladem.

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);
    }
}

Nástroje

Návrhář pro vaše formuláře.

Navrhujte formuláře a UserControls v návrháři ModernFormsNext. Integrace do Visual Studia je dostupná jako rozšíření VSIX.

Návrhář i jeho pracovní postup se dále vyvíjejí. Vyberte rozšíření odpovídající verzi frameworku.

Vydání a rozšíření VSIX
  1. Navrhněte formulář

    Přidejte ovládací prvky, nastavte jejich vlastnosti a uspořádejte rozvržení v návrháři.

  2. Uložte dokument .mfdesign

    Dokument uchovává strukturu a nastavení rozhraní.

  3. Pokračujte v C#

    Generátor vytvoří soubor .Designer.cs. Logiku aplikace píšete do kódu formuláře.

Stav a platformy

Windows na prvním místě.

ModernFormsNext se aktivně vyvíjí. Rozsah podpory se mezi platformami liší.

.NET 10C#Licence MIT
Windows
Hlavní platforma

Runtime, návrhář a hlavní zaměření testů.

Android
Experimentální

Sdílené ovládací prvky a kreslicí plocha Skia. Práce s okny a platformní služby zatím nenabízejí plnou shodu s Windows.

macOS / Linux
Bez podporovaných backendů

Tyto platformy zatím nejsou podporovány pro běh aplikací.