Early-stage project. Use at your own risk.
See CHANGELOG.md for release notes and migration-relevant changes.
ModernFormsNext is a modern, code-first UI framework for .NET inspired by Modern.Forms and WinForms.
It focuses on performance, simplicity, and full control over UI without relying on XAML.
ModernFormsNext is not WPF, MAUI, WinUI, Avalonia, Uno, Blazor, Electron, or XAML. Framework UI is rendered by ModernFormsNext controls, not by native WinForms controls.
- WinForms-like API with no XAML
- SkiaSharp-based rendering
- Fully code-driven UI
- WinForms-like data binding primitives
- Notification area icon support through backend services
- Extensible architecture
- Custom controls support
- Platform-neutral framework code with platform-specific backends
- .NET SDK
10.0.201as configured byglobal.json. - SDK roll-forward is enabled for the latest installed .NET 10 feature band.
- Windows is currently the primary and best-supported runtime target.
Use ModernFormsNext.slnx for solution-level restore and build commands.
git clone https://github.com/<your-username>/ModernFormsNext.git
cd ModernFormsNextdotnet restore .\ModernFormsNext.slnxdotnet build .\ModernFormsNext.slnx --configuration Debug --no-restore /p:EnableWindowsTargeting=truesamples/ControlGallery is the manual visual test app for controls, layout, rendering, focus, input, and theme behavior.
dotnet run --project .\samples\ControlGallery\ControlGallery.csprojsamples/ModernFormsNext.DemoApp is the reference application for the Visual Studio extension/template experience. Keep it small, beginner-friendly, and representative of the generated application structure. Do not use it as a playground for random control experiments.
dotnet run --project .\samples\ModernFormsNext.DemoApp\ModernFormsNext.DemoApp.csprojusing ModernFormsNext;
internal static class Program
{
[STAThread]
private static void Main()
{
Application.Run(new MainForm());
}
}
public class MainForm : Form
{
public MainForm()
{
Text = "Hello ModernFormsNext";
Width = 800;
Height = 600;
}
}ModernFormsNext/- shared framework code: controls, forms, rendering, layout, input, themes, and dialogs.ModernFormsNext.WindowKit/- platform-neutral windowing, dispatcher, input, storage, and service abstractions.ModernFormsNext.WindowKit.Backend/- shared backend bootstrap and interop infrastructure.ModernFormsNext.WindowKit.Backend.Windows/- Windows backend implementation and Win32 interop.ModernFormsNext.Templates/- project templates for generated user applications.samples/ControlGallery/- manual visual validation app for controls and rendering.samples/ModernFormsNext.DemoApp/- reference/template application generated for users, not a control playground.docs/- architecture, getting started, data binding, platform-specific features, samples, and screenshots.
The repository contains NuGet package metadata and a ModernFormsNext.Templates template package project. For repository development, prefer project references and the solution commands above. For template validation, keep ModernFormsNext.Templates and samples/ModernFormsNext.DemoApp aligned so generated applications show the recommended startup pattern.
ModernFormsNext is:
- not just a fork
- a separate evolution path
- a place for experimentation and new ideas
It may include:
- architectural changes
- performance improvements
- new controls
- platform-specific features
This repository contains or may contain code derived from other MIT-licensed projects. See third-party-licenses.md for details. The original Modern.Forms files also document third-party sources such as Avalonia, Mono WinForms, and Microsoft WinForms.
This project is distributed under the MIT License. See license.md.