Hawkynt.NativeForms.Backends.Windows
1.0.0.70
dotnet add package Hawkynt.NativeForms.Backends.Windows --version 1.0.0.70
NuGet\Install-Package Hawkynt.NativeForms.Backends.Windows -Version 1.0.0.70
<PackageReference Include="Hawkynt.NativeForms.Backends.Windows" Version="1.0.0.70" />
<PackageVersion Include="Hawkynt.NativeForms.Backends.Windows" Version="1.0.0.70" />
<PackageReference Include="Hawkynt.NativeForms.Backends.Windows" />
paket add Hawkynt.NativeForms.Backends.Windows --version 1.0.0.70
#r "nuget: Hawkynt.NativeForms.Backends.Windows, 1.0.0.70"
#:package Hawkynt.NativeForms.Backends.Windows@1.0.0.70
#addin nuget:?package=Hawkynt.NativeForms.Backends.Windows&version=1.0.0.70
#tool nuget:?package=Hawkynt.NativeForms.Backends.Windows&version=1.0.0.70
Hawkynt.NativeForms.Backends.Windows
The Windows backend for NativeForms: a reflection-free, source-generated P/Invoke layer that renders NativeForms controls through native USER32 window classes.
📦 Installation
dotnet add package Hawkynt.NativeForms.Backends.Windows
This is a backend for NativeForms. Install the core package too — it carries the controls. It compiles on any operating system but only runs on Windows.
✨ Features
- Renders NativeForms controls on Windows through Win32 / USER32.
- Top-level windows,
BUTTONandSTATICare real USER32 window classes; every other control is owner-drawn. - Reflection-free and source-generated, so it survives trimming and NativeAOT.
- Referenced but never registered, the whole backend is dropped again by the trimmer.
🚀 Quick start
Register the backend before creating a window. Registering more than one is fine: an application can carry every platform it ships on.
using Hawkynt.NativeForms;
using Hawkynt.NativeForms.Backends;
using Hawkynt.NativeForms.Backends.Windows;
BackendRegistry.Register(new Win32Backend());
var form = new Form { Text = "Hello", Bounds = new(0, 0, 320, 160) };
Application.Run(form);
📚 API reference
Every public and protected member of all 1 type, generated from the built assembly and its XML documentation, is in REFERENCE.md.
🔌 Dependencies
| Package | Why |
|---|---|
Hawkynt.NativeForms |
The controls, layout and backend abstraction this package implements. |
Runtime requirement: Windows. No additional runtime to install.
⚠️ Limitations
- Compiles anywhere, runs only on Windows. Registering it on another platform will fail at runtime.
❤️ Support
If this project saves you time or money, consider supporting its development:
📜 License
Licensed under LGPL-3.0-or-later — see the repository LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Hawkynt.NativeForms (>= 1.0.0.245)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.