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 6+
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, current .NET — a clean foundation, not a museum piece.

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, a full control gallery on two backends, and bi-directional WinForms interop.