majorsilence.forms · early stage, stabilizing

WinForms in. Cross-platform out.

A WinForms-style UI framework that moves legacy and modern WinForms applications onto a modern, cross-platform stack. Keep the Forms, controls, event handlers, and *.Designer.cs files you already have — gain Windows, macOS, and Linux out of the box, 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.