cross-platform winforms for .net · open source · beta

WinForms in. Cross-platform out.

Majorsilence.Forms is a cross-platform WinForms library for .NET — a Windows Forms compatibility layer that moves legacy and modern WinForms applications onto a modern stack. Keep the Forms, controls, event handlers, and *.Designer.cs files you already have — run on Linux, run on macOS, and run on Windows from one build, with mobile and web within reach through Avalonia's own Android, iOS, and Browser targets or through Uno Platform.

Avalonia Uno Platform Headless SkiaSharp .NET 10
3
Platform backends
Win · macOS · Linux
Desktop, out of the box
iOS · Android · Wasm
Reachable via Avalonia or Uno
MIT
Open source
why majorsilence.forms

Collapse the migration, not your codebase.

Migrating a WinForms app usually means a ground-up rewrite in a new UI paradigm — XAML, MVVM, the web. That's expensive, risky, and throws away years of working business logic and UX. Majorsilence.Forms mirrors the WinForms API surface and ships a compatibility layer so your existing forms, controls, and code move over with far less churn.

Reuse, don't rewrite

The same control model and event-driven code you wrote in WinForms. No XAML, no forced MVVM rewrite, no relearning the framework.

Cross-platform by construction

Everything is drawn with SkiaSharp and runs on a swappable host backend — Avalonia by default for desktop, with its own Android/iOS/Browser targets as one path to mobile and web, and Uno Platform as another.

Bring your skills, your team, your code

WinForms muscle memory transfers directly, so the ramp-up cost for an existing .NET shop is close to zero.

Modern under the hood

GPU-accelerated Skia rendering, HiDPI, touch gestures, current .NET — a clean foundation, not a museum piece.

Testable and accessible

One automation tree drives in-process UI tests, a W3C WebDriver server for Selenium, and Windows screen readers.

Migrate incrementally

Run alongside real WinForms in one process on Windows, or embed Majorsilence.Forms controls and windows inside an existing Avalonia or Uno app.

how it works

One control model, a swappable host underneath.

Majorsilence.Forms owns the controls and rendering; the backend only puts pixels on screen and delivers input. That seam is what lets the same app target Avalonia today and Uno tomorrow.

Your app (Forms, controls, Designer files — the WinForms model you know) │ Majorsilence.Forms (controls + WinForms-compatible API, drawn with SkiaSharp) │ Swappable host backend ├─ Avalonia → Windows · macOS · Linux (default) · also Android · iOS · Browser ├─ Uno → desktop · iOS · Android · WebAssembly └─ Headless → offscreen rendering for tests / CI
a form looks exactly like you'd expect

Program.cs, unchanged.

MainForm.cs
using Majorsilence.Forms;

public class MainForm : Form
{
}
Program.cs run
static void Main (string [] args)
{
    Application.Run (new MainForm ());
}
samples

Real apps, not toy demos.

Explore every sample in the repository — a Windows Explorer clone, an Outlook clone, the same full control gallery running on desktop, Uno, the browser, Android and iOS, bi-directional WinForms interop, and Majorsilence.Forms embedded inside host Avalonia and Uno apps.

start here

Answering the question that brought you here.

Most people arrive looking for one specific thing — whether Windows Forms can run on Linux, what a WinForms compatibility layer really costs, or how this compares to a rewrite in MAUI or Avalonia. Each of those has its own page.

Cross-platform WinForms, explained

Why System.Windows.Forms is Windows-only, the three ways around it, and what an API-compatible reimplementation gives up.

Can WinForms run on Linux?

Not as-is — Mono's port is long gone and GDI+ isn't there. What works instead on Ubuntu, Fedora and Debian, and how to ship it.

Can WinForms run on macOS?

Native NSWindow on Apple Silicon and Intel, what feels un-Mac-like about it, and packaging a .app.

Migrating an existing app

The majorsilence-migrate CLI does the mechanical rewrite — namespaces, project files, resources — as a readable git diff.

WinForms alternatives compared

MAUI, Avalonia, Uno Platform, Eto.Forms, WPF and Wine — measured by how much of your existing code each one keeps.

FAQ

Do Designer files still work? Is there a visual designer? What about VB.NET, DataGridView, System.Drawing, and production readiness?