← Tutti i progetti

Framework UI · Open source

In sviluppo attivo

ModernFormsNext

Interfacce desktop.
Direttamente in C#.

Un modello di form ed eventi ispirato a WinForms. Controlli e layout propri, con rendering SkiaSharp su .NET 10.

Funzionalità

Tutto parte da C#.

UI in C#

Definisci form e controlli in C#. Senza XAML, con accesso diretto agli eventi e alla logica dell'interfaccia.

Rendering con SkiaSharp

Albero dei controlli, layout e gestione dell'input dedicati. Il framework disegna direttamente l'interfaccia dell'applicazione.

Controlli e data binding

Campi di testo, elenchi, tabelle, menu, finestre di dialogo e contenitori. Il data binding collega l'interfaccia allo stato dell'applicazione.

Temi e risorse

Token dei temi, risorse ereditate e cambio del tema durante l'esecuzione. I temi possono essere definiti in JSON.

Applicazioni di esempio

Due screenshot reali tratti dalla documentazione del repository mostrano diverse interfacce realizzate con i controlli di ModernFormsNext.

Explorer su Windows: barra degli strumenti, albero delle cartelle ed elenco dei file in un’applicazione di esempio di ModernFormsNext.
Explorer · WindowsScreenshot completo

Explorer: un’applicazione di esempio con navigazione tra le cartelle e tabella dei file.

Outlaw su Windows: un’applicazione di esempio con cartelle di posta, elenco dei messaggi e riquadro di anteprima.
Outlaw · WindowsScreenshot completo

Outlaw: un esempio di interfaccia di posta. I messaggi e i mittenti visualizzati sono dati dimostrativi definiti nel codice dell’esempio.

Primi passi

Avvia la tua prima finestra.

Servono Windows e l'SDK .NET 10. Installa il template, crea un progetto e avvia l'applicazione.

Questi comandi usano esplicitamente la versione 1.11.1.

Guida all'installazione
Terminale · WindowsPowerShell
dotnet new install ModernFormsNext.Templates::1.11.1
dotnet new mfn-app -n MyApp
cd MyApp
dotnet run

Esempio

Un form. Un pulsante. Un evento.

Un punto di ingresso completo per un'applicazione Windows che fa riferimento a ModernFormsNext.

In un progetto creato dal template, usa il punto di ingresso esistente oppure sostituiscilo con questo esempio.

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

Strumenti

Un designer per i tuoi form.

Crea form e controlli utente nel designer di ModernFormsNext. L'integrazione con Visual Studio è disponibile come estensione VSIX.

Il designer e il suo flusso di lavoro sono in evoluzione. Usa la versione dell'estensione compatibile con il framework.

Release ed estensione VSIX
  1. Progetta un form

    Aggiungi i controlli, imposta le proprietà e organizza il layout nel designer.

  2. Salva il documento .mfdesign

    Il documento conserva la struttura e le impostazioni dell'interfaccia.

  3. Continua in C#

    Il generatore produce un file .Designer.cs. Scrivi la logica applicativa nel codice del form.

Stato e piattaforme

Windows al primo posto.

ModernFormsNext è in sviluppo attivo. Il supporto varia a seconda della piattaforma.

.NET 10C#Licenza MIT
Windows
Piattaforma principale

Runtime, designer e principale ambiente di verifica.

Android
Sperimentale

Controlli condivisi e una superficie di disegno Skia. La gestione delle finestre e i servizi di piattaforma non sono ancora equivalenti a quelli di Windows.

macOS / Linux
Nessun backend supportato

Al momento non sono piattaforme supportate per l'esecuzione delle applicazioni.