← Tous les projets

Framework UI · Open source

En développement actif

ModernFormsNext

Des interfaces desktop.
Directement en C#.

Un modèle de formulaires et d’événements inspiré de WinForms. Ses propres contrôles et son système de mise en page, avec un rendu SkiaSharp sur .NET 10.

Fonctionnalités

Tout commence en C#.

UI en C#

Définissez vos formulaires et vos contrôles en C#. Sans XAML, avec un accès direct aux événements et à la logique de l’interface.

Rendu SkiaSharp

Une arborescence de contrôles, un système de mise en page et une gestion des entrées propres au framework. Il dessine lui-même l’interface de l’application.

Contrôles et liaison de données

Champs de texte, listes, tableaux, menus, boîtes de dialogue et conteneurs. La liaison de données relie l’interface à l’état de votre application.

Thèmes et ressources

Tokens de thème, héritage des ressources et changement de thème à l’exécution. Les thèmes peuvent être définis en JSON.

Applications d’exemple

Deux captures réelles issues de la documentation du dépôt illustrent différentes interfaces réalisées avec les contrôles ModernFormsNext.

Explorer sous Windows : une barre d’outils, une arborescence de dossiers et une liste de fichiers dans une application d’exemple ModernFormsNext.
Explorer · WindowsCapture complète

Explorer : une application d’exemple avec navigation dans les dossiers et tableau de fichiers.

Outlaw sous Windows : une application d’exemple avec dossiers de messagerie, liste de messages et volet d’aperçu.
Outlaw · WindowsCapture complète

Outlaw : un exemple d’interface de messagerie. Les messages et les expéditeurs affichés sont des données de démonstration définies dans le code de l’exemple.

Prise en main

Lancez votre première fenêtre.

Il vous faut Windows et le SDK .NET 10. Installez le modèle, créez un projet et lancez l’application.

Ces commandes ciblent explicitement la version 1.11.1.

Guide d’installation
Terminal · WindowsPowerShell
dotnet new install ModernFormsNext.Templates::1.11.1
dotnet new mfn-app -n MyApp
cd MyApp
dotnet run

Exemple

Un formulaire. Un bouton. Un événement.

Un point d’entrée complet pour une application Windows qui référence ModernFormsNext.

Dans un projet créé à partir du modèle, utilisez le point d’entrée existant ou remplacez-le par cet exemple.

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

Outils

Un concepteur pour vos formulaires.

Créez des formulaires et des UserControls dans le concepteur ModernFormsNext. L’intégration à Visual Studio est disponible sous forme d’extension VSIX.

Le concepteur et son fonctionnement continuent d’évoluer. Choisissez l’extension correspondant à votre version du framework.

Versions et extension VSIX
  1. Concevoir le formulaire

    Ajoutez des contrôles, réglez leurs propriétés et organisez la mise en page dans le concepteur.

  2. Enregistrer le document .mfdesign

    Le document conserve la structure et les paramètres de l’interface.

  3. Poursuivre en C#

    Le générateur produit un fichier .Designer.cs. Écrivez la logique de votre application dans le code du formulaire.

État et plateformes

Windows en priorité.

ModernFormsNext est en développement actif. Les fonctionnalités disponibles varient selon la plateforme.

.NET 10C#Licence MIT
Windows
Plateforme principale

Runtime, concepteur et principal environnement de test.

Android
Expérimental

Des contrôles partagés et une surface Skia. La gestion des fenêtres et les services de la plateforme n’offrent pas toutes les fonctionnalités de Windows.

macOS / Linux
Pas de backend pris en charge

Ces plateformes ne sont pas actuellement prises en charge pour les applications.