WinForms.Fluent 1.0.0

dotnet add package WinForms.Fluent --version 1.0.0
                    
NuGet\Install-Package WinForms.Fluent -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WinForms.Fluent" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WinForms.Fluent" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="WinForms.Fluent" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WinForms.Fluent --version 1.0.0
                    
#r "nuget: WinForms.Fluent, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WinForms.Fluent@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WinForms.Fluent&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=WinForms.Fluent&version=1.0.0
                    
Install as a Cake Tool

WinForms.Fluent

<p align="center"> <img src="assets/icon.png" alt="WinForms.Fluent Icon" width="128" height="128"> </p>

<p align="center"> <strong>Modern Windows 11 Fluent Design for WinForms</strong><br> Apply Mica, Acrylic, and Tabbed effects with an intuitive, chainable API. </p>

<p align="center"> <img src="https://img.shields.io/nuget/v/WinForms.Fluent?style=flat-square" alt="NuGet Version"> <img src="https://img.shields.io/nuget/dt/WinForms.Fluent?style=flat-square" alt="NuGet Downloads"> <img src="https://img.shields.io/github/license/evorajhonj/WinForms.Fluent?style=flat-square" alt="License"> </p>

<p align="center"> <img src="assets/sample.png" alt="WinForms.Fluent Sample" width="1920" height="1080"> </p>


✨ Features

  • 🎯 One-Line API - this.Mica() applies effects instantly
  • 🌓 Auto Theme Detection - Automatically detects Windows dark/light mode
  • 🎨 Multiple Effects - Mica, Acrylic, Tabbed with full-window support
  • 🎯 Apply Target Control - Choose titlebar-only or full-window effects
  • ⚙️ Chainable Configuration - Fluent API for complex scenarios
  • 🔒 Type-Safe - Full IntelliSense, no magic strings
  • 📱 Multi-Target - .NET 6, 7, 8, 9 (Windows only)
  • Zero Boilerplate - Get modern UI in seconds

🚀 Installation

dotnet add package WinForms.Fluent

🎯 Quick Start

Simplest Form Ever

using WinForms.Fluent;

public partial class MainWindow : Form
{
    public MainWindow()
    {
        InitializeComponent();
        this.Mica();  // ← That's it! Auto-detects theme + full window
    }
}

📚 Usage Guide

Simple Effects (One-Liners)

Perfect for 99% of use cases:

// Auto-detect system theme + apply effect (full window)
this.Mica();                    // Windows 11 Mica effect
this.Acrylic();                 // Transparent Acrylic
this.Tabbed();                  // Tabbed window effect
this.Auto();                    // Same as Mica()

// Force specific theme (full window)
this.Mica(Theme.Dark);          // Dark Mica
this.Acrylic(Theme.Light);      // Light Acrylic
this.Tabbed(Theme.Dark);        // Dark Tabbed

// Apply target control (titlebar only or full window)
this.Mica(Target.TitleBar);     // Titlebar only
this.Mica(Target.FullWindow);   // Full window

// With theme + target
this.Mica(Theme.Dark, Target.FullWindow);
this.Acrylic(Theme.Light, Target.TitleBar);

// Cleanup
this.Reset();                   // Remove all effects

Real Example:

public MainWindow()
{
    InitializeComponent();
    
    // Modern app - auto theme detection, full window
    this.Mica();
}

Advanced Configuration

For custom combinations:

this.Configure()
    .Acrylic()                  // Backdrop type
    .Dark()                     // Theme
    .Transparency()             // Enable transparency
    .Apply();

More Examples:

// Light Mica, full window
this.Configure()
    .Mica()
    .Light()
    .ToFullWindow()
    .Apply();

// Tabbed with auto theme, titlebar only
this.Configure()
    .Tabbed()
    .Auto()
    .ToTitleBar()
    .Apply();

// Dark, no backdrop
this.Configure()
    .None()
    .Dark()
    .Apply();

// Acrylic dialog with transparency
this.Configure()
    .Acrylic()
    .Auto()
    .Transparency()
    .ToFullWindow()
    .Apply();

📖 Complete API Reference

Simple Methods

Method Effect Theme Target
this.Mica() Mica Auto-detect Full Window
this.Mica(Theme.Dark) Mica Dark Full Window
this.Mica(Theme.Light) Mica Light Full Window
this.Mica(Target.TitleBar) Mica Auto-detect TitleBar
this.Mica(Theme.Dark, Target.FullWindow) Mica Dark Full Window
this.Acrylic() Acrylic Auto-detect Full Window
this.Acrylic(Theme.Dark) Acrylic Dark Full Window
this.Tabbed() Tabbed Auto-detect Full Window
this.Tabbed(Theme.Light) Tabbed Light Full Window
this.Auto() Mica Auto-detect Full Window
this.Reset() None - -

Configuration Methods

Backdrop Types:

.Mica()              // Main window backdrop
.Acrylic()           // Transient/dialog backdrop
.Tabbed()            // Tabbed window backdrop
.AutoBackdrop()      // Let DWM auto-decide
.None()              // Disable backdrop

Theme:

.Auto()              // Auto-detect from Windows
.Dark()              // Force dark theme
.Light()             // Force light theme

Apply Target:

.ToTitleBar()        // Apply only to titlebar
.ToFullWindow()      // Apply to entire window (default)

Transparency:

.Transparency()      // Enable transparency
.NoTransparency()    // Disable transparency (default)

Apply:

.Apply()             // Explicitly apply configuration
// OR auto-applies on last method (.Transparency()/.NoTransparency())

🎨 Theme Constants

using WinForms.Fluent;

// ❌ Confusing
this.Mica(true);                // What does true mean?

// ✅ Crystal Clear
this.Mica(Theme.Dark);          // Intent is obvious
this.Mica(Theme.Light);         // No ambiguity

🎯 Apply Target Enum

using WinForms.Fluent;

// Apply only to titlebar (theme only)
this.Mica(Target.TitleBar);

// Apply to full window (backdrop + theme)
this.Mica(Target.FullWindow);   // Default

// In configuration
this.Configure()
    .Mica()
    .Dark()
    .ToTitleBar()      // Titlebar only
    .Apply();

this.Configure()
    .Acrylic()
    .Auto()
    .ToFullWindow()    // Full window (default)
    .Apply();
Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net7.0-windows7.0 is compatible.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net9.0-windows7.0 is compatible.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0-windows7.0

    • No dependencies.
  • net7.0-windows7.0

    • No dependencies.
  • net8.0-windows7.0

    • No dependencies.
  • net9.0-windows7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 252 11/5/2025

Initial Release - v1.0.0