BlazorWinOld 2.1.0

dotnet add package BlazorWinOld --version 2.1.0
                    
NuGet\Install-Package BlazorWinOld -Version 2.1.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="BlazorWinOld" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BlazorWinOld" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="BlazorWinOld" />
                    
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 BlazorWinOld --version 2.1.0
                    
#r "nuget: BlazorWinOld, 2.1.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 BlazorWinOld@2.1.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=BlazorWinOld&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=BlazorWinOld&version=2.1.0
                    
Install as a Cake Tool

Blazor.WinOld

NuGet BlazorWinOld Nuget Package GitHub

A Blazor UI component library that brings back the nostalgic look and feel of classic Windows operating systems (Windows 98, XP, 7 and 10). Create retro-styled web applications with authentic Windows UI components.

🪶 Lightweight — the NuGet package is only ~250 KB.

Compatible with Blazor Server and Blazor WebAssembly

DEMO and DOCS : https://tossnet.github.io/Blazor-WinOld/

Overview

BlazorWinOld provides a collection of Blazor components styled to match the iconic Windows interfaces from the late 90s and 2000s. Whether you're building a nostalgia-driven project or need that classic Windows aesthetic, this library delivers pixel-perfect components including buttons, message boxes, windows, tabs, and more.

https://github.com/user-attachments/assets/f5a8b771-8f57-4c40-8e1e-6ae8b29a05d7

Installation

Install-Package BlazorWinOld

or

dotnet add package BlazorWinOld

For client-side and server-side Blazor - add script section (head section)

 <link href="_content/BlazorWinOld/css/blazorwinold.css" rel="stylesheet" />

In Program.cs add this line

builder.Services.AddWinOldComponents();

and in the bottom of your MainLayout.razor add these lines (optional, only if you use MessageBox or InputBox)

<WinOldMessageBoxHost />  
<WinOldInputBoxHost />    
<WinOldDialogHost /> 

<a name="ReleaseNotes"></a>Release Notes

<details open="open"><summary>Version 2.1.0</summary>

  • Added new WinOldNumberBox component for numeric input with support for generic types
  • Enhanced WinOldInputBox with support for numeric types: int, decimal, and double
  • New extension methods: ShowInputBox<int?>(), ShowInputBox<decimal?>(), and ShowInputBox<double?>() </details>

<details><summary>Version 2.0.0</summary>

  • Added new Windows 10 style theme
  • Windows 10 is now the default style applied to all components </details>

<details><summary>Version 1.5.0</summary>

  • Added WinOldDialog component: a fully draggable dialog window supporting custom child content </details>

<details><summary>Version 1.4.0</summary>

  • Added drag-and-drop support for MessageBox and InputBox, allowing users to move the window freely across the screen. </details>

<details><summary>Version 1.3.1</summary>

  • Improve disabled style for some components (Frame, Options, Tab)
  • WinOldTabs : a Tab can be disabled. </details>

<details open="open"><summary>Version 1.3.0</summary>

  • ⚠️ BREAKING CHANGE:
  • DialogOptions has been renamed to MessageBoxOptions for WinOldMessageBox
  • Migration: Replace 'new DialogOptions' with 'new MessageBoxOptions' (simple Find/Replace)
  • New WinOldInputBox component
  • Button : Add "Default" Property style for win98 button </details>

<details><summary>Version 1.2.9</summary>

  • Fix height of Tabs
  • Fix disabled style of WinOldButton </details>

<details><summary>Version 1.2.8</summary>

  • win7 : separation of font size from font family </details>

<details><summary>Version 1.2.7</summary>

  • Improved checkbox component rendering
  • Fixed button and selectbox label colors on Safari </details>

<details><summary>Version 1.2.6</summary>

  • Added disabled attribute support on WinOldSelect component
  • Added Select page in the demo site </details>

<details><summary>Version 1.2.2</summary>

  • Added .AddWinOldComponents() to simplify declaration </details>

Thanks

I used these repo for most of the css and icons:

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.1.0 37 4/5/2026
2.0.0 39 4/4/2026
1.5.0 86 3/30/2026
1.4.0 90 3/15/2026
1.3.1 99 2/12/2026
1.3.0 97 2/10/2026
1.2.9 102 2/4/2026
1.2.8 129 1/29/2026
1.2.7 229 1/26/2026
1.2.6 95 1/23/2026
1.2.5 131 1/19/2026
1.2.4 97 1/19/2026
1.2.3 299 4/13/2025
1.2.2 214 3/16/2025
1.2.1 209 12/27/2024
1.2.0 166 12/26/2024
1.1.0 186 12/24/2024
1.0.0 187 12/22/2024
0.0.7 187 12/21/2024
0.0.6 206 12/20/2024
Loading failed

v2.1.0 - Added WinOldNumberBox component and InputBox support for numeric types (int, decimal, double)