NetHeroForms 1.0.1-trial

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

NetHeroForms — Premium Modern WinForms Design System

NetHeroForms is a comprehensive, state-of-the-art UI control library and application template for Windows Forms (WinForms) designed to act as a modern, lightweight, flat-design replacement for heavy and expensive suites like DevExpress or Telerik.

Built entirely using custom GDI+ drawing, NetHeroForms is fully compatible with both legacy .NET Framework 4.8 and modern .NET 8.0-windows, featuring a sleek Slate/Indigo dark theme, anti-aliased rendering, and zero external dependencies.

All controls are branded with the Hero prefix so that developers can easily search for, group, and place them from the Visual Studio Toolbox, completely distinct from standard WinForms and DevExpress controls.


Key Features

  1. 31 Premium Custom Controls — The most comprehensive pure-GDI+ WinForms control suite available, covering every need from data grids to charts to tooltips.
  2. Fluent Layouts & Shells: Fully resizable and draggable BorderlessForm with Win32 snap layout compliance, modern control box actions, and a responsive sidebar structure.
  3. Modern DataGrid: Custom-drawn HeroGrid with sleek headers, alternating row colors, row hover effects, sorted indicator icons, and built-in search filtering.
  4. Owner-Drawn Controls: Highly responsive HeroButton, HeroTextBox, HeroComboBox, HeroCheckBox, HeroRadioButton, HeroNumericUpDown, HeroListBox, and HeroTabControl featuring smooth color transitions and active indicators.
  5. Animated Components: iOS-style HeroToggle switch, gradient HeroProgressBar, rotating HeroProgressCircle (radial spinner), HeroBadge with pulse animation, and HeroAccordion with smooth expand/collapse.
  6. Analytics Charts: Custom painted HeroChart supporting Line graphs (with gradient fills), Bar charts, and Donut charts with configurable center text.
  7. Overlay Modals & Notifications:
    • HeroMessageBox: Custom dialog overlay that dims the parent form with a dark sheet and displays flat alert panels (Success, Error, Warning, Info) with custom vector icons.
    • HeroToast: Non-blocking, animated slide-in alert notifications with stacking support.
  8. Navigation & Layout: HeroToolbar, HeroContextMenu, HeroStatusBar, HeroSplitContainer, HeroGroupBox, HeroTreeView, HeroAccordion.
  9. Advanced Inputs: HeroDatePicker with calendar popup, HeroSlider track bar, HeroScrollBar with auto-hide.
  10. Theme Engine: Centralized HeroThemeEngine with 3 built-in themes (Dark, Light, Midnight) and ThemeChanged event.
  11. Color System: HeroColors static class providing the entire Tailwind CSS Slate/Indigo palette as constants.

Complete Control Suite (31 Controls)

Input Controls

Control Description
HeroButton Rounded flat button with hover/click states and configurable border
HeroTextBox Underlined/rounded input with focus highlighting and password support
HeroComboBox Owner-drawn dropdown selector with flat vector arrows
HeroCheckBox Animated checkbox with indeterminate state support
HeroRadioButton Circle radio with automatic group exclusion
HeroToggle iOS-style animated switch with sliding pill
HeroNumericUpDown Numeric input with vector arrow buttons
HeroDatePicker Date selector with popup calendar
HeroSlider Track bar with gradient fill and thumb hover effects

Display Controls

Control Description
HeroLabel Styled label with 5 size presets and muted variant
HeroCard Rounded container panel with custom borders
HeroProgressBar Linear progress with gradient fill and percentage text
HeroProgressCircle Radial/circular animated loading spinner
HeroBadge Notification badge with pulse animation and dot mode
HeroChart GDI+ charts (Line, Bar, Donut) with configurable colors
HeroCalendar Full custom-drawn month grid calendar

Data Controls

Control Description
HeroGrid Fully styled DataGridView with row hover, sorting, and filtering
HeroListBox Owner-drawn list with icons and hover highlighting
HeroTreeView Custom tree with chevron vectors and rounded selection
Control Description
HeroTabControl Flat tabs with selection underline and hover feedback
HeroToolbar Styled toolbar with gradient background
HeroContextMenu Dark-themed context menu with Indigo accent
HeroStatusBar Bottom status bar with multi-section support
HeroGroupBox Rounded group container with header text
HeroSplitContainer Split panel with custom splitter and grip dots
HeroAccordion Animated collapsible sections with chevron rotation
HeroScrollBar Modern thin scrollbar with auto-hide

Overlays & Notifications

Control Description
HeroMessageBox Themed dialog modal with dimmer overlay
HeroToast Animated slide-in notifications with stacking
HeroTooltip Dark-themed tooltip with rounded corners

Infrastructure

Class Description
HeroColors Static class with full Tailwind palette constants
HeroThemeEngine Theme management with Dark/Light/Midnight presets
BorderlessForm Resizable/draggable frameless window base

Quick Start Guide

1. Borderless Form Setup

To create a borderless form with custom dragging and resizing:

using NetHeroForms.Forms;

public partial class MyDashboard : BorderlessForm
{
    public MyDashboard()
    {
        InitializeComponent();
        
        // Register a Panel to act as the draggable title bar
        this.RegisterTitleBar(pnlTitleBar);
    }
}

2. Modern Data Grid & Real-time Filtering

Configure a data grid with mockup data and hook up a text input to filter records:

using NetHeroForms.Controls;

// 1. Bind DataSource (DataTable, List, etc.)
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Role");
dt.Rows.Add("Jimmy", "Software Engineer");
dt.Rows.Add("Sarah", "UI Designer");

heroGrid.DataSource = dt;

// 2. Perform text-based search filtering across all text columns
txtSearch.TextChanged += (s, e) => {
    heroGrid.FilterRows(txtSearch.Text);
};

3. Displaying Overlay Modal Dialogs

Display an elegant dialog with dimmer sheet overlay centering on the parent form:

using NetHeroForms.Controls;

// Parameters: (OwnerForm, Message, Title, Buttons, DialogueType)
DialogResult res = HeroMessageBox.Show(
    this, 
    "This operation will permanently format the hard drive. Continue?", 
    "Format Request", 
    MessageBoxButtons.YesNo, 
    HeroMessageBox.MessageBoxType.Warning
);

if (res == DialogResult.Yes)
{
    HeroToast.Show("Process Started", "Formatting disk blocks...", HeroMessageBox.MessageBoxType.Info);
}

4. Theme Engine

Switch between built-in themes:

using NetHeroForms;

// Apply a theme to the entire form
HeroThemeEngine.ApplyTheme(HeroTheme.Light, this);

// Or switch globally and listen for changes
HeroThemeEngine.ThemeChanged += (s, e) => {
    Console.WriteLine($"Theme changed from {e.OldTheme} to {e.NewTheme}");
};
HeroThemeEngine.CurrentTheme = HeroTheme.Midnight;

5. New Input Controls

using NetHeroForms.Controls;

// CheckBox with indeterminate state
heroCheckBox.CheckState = HeroCheckState.Indeterminate;
heroCheckBox.CheckedChanged += (s, e) => { /* handle */ };

// Numeric input
heroNumeric.Minimum = 0;
heroNumeric.Maximum = 1000;
heroNumeric.Increment = 5;
heroNumeric.ValueChanged += (s, e) => { /* handle */ };

// Slider
heroSlider.Minimum = 0;
heroSlider.Maximum = 100;
heroSlider.ShowTicks = true;
heroSlider.ShowValueTooltip = true;

Directory Structure

NetHeroForms\                          # Design System Core Library (net48;net8.0-windows)
│
├── Controls\                          # Custom Painted Controls (GDI+) — 31 Controls
│   ├── HeroAccordion.cs               # Animated collapsible sections
│   ├── HeroBadge.cs                   # Notification badge with pulse
│   ├── HeroButton.cs                  # Rounded flat button with hover states
│   ├── HeroCalendar.cs                # GDI+ calendar with month grids
│   ├── HeroCard.cs                    # Container panel with rounded borders
│   ├── HeroChart.cs                   # GDI+ charts (Line, Bar, Donut)
│   ├── HeroCheckBox.cs                # Animated checkbox with indeterminate
│   ├── HeroColors.cs                  # Centralized Tailwind palette constants
│   ├── HeroComboBox.cs                # Owner-drawn dropdown selector
│   ├── HeroContextMenu.cs             # Dark-themed context menu
│   ├── HeroDatePicker.cs              # Popup calendar date selector
│   ├── HeroGrid.cs                    # Styled DataGridView with filtering
│   ├── HeroGroupBox.cs                # Rounded group container
│   ├── HeroLabel.cs                   # Styled label (5 sizes + muted)
│   ├── HeroListBox.cs                 # Owner-drawn list with icons
│   ├── HeroMessageBox.cs              # Modal overlay dialog
│   ├── HeroNumericUpDown.cs           # Numeric input with vector arrows
│   ├── HeroProgressBar.cs             # Linear progress with gradient
│   ├── HeroProgressCircle.cs          # Radial animated spinner
│   ├── HeroRadioButton.cs             # Circle radio with auto-grouping
│   ├── HeroScrollBar.cs               # Modern thin auto-hide scrollbar
│   ├── HeroSlider.cs                  # Track bar with gradient fill
│   ├── HeroSplitContainer.cs          # Split panel with grip dots
│   ├── HeroStatusBar.cs               # Bottom status bar
│   ├── HeroTabControl.cs              # Flat tabs with hover feedback
│   ├── HeroTextBox.cs                 # Rounded input with focus highlight
│   ├── HeroToast.cs                   # Animated slide-in notifications
│   ├── HeroToggle.cs                  # iOS-style animated switch
│   ├── HeroToolbar.cs                 # Styled toolbar with gradient
│   ├── HeroTooltip.cs                 # Dark rounded tooltip
│   └── HeroTreeView.cs               # Tree with chevron vectors
│
├── Forms\                             # Base window forms
│   └── BorderlessForm.cs              # Resizable/draggable frameless window
│
├── HeroThemeEngine.cs                 # Theme management (Dark/Light/Midnight)
└── NetHeroForms.csproj

NetHeroForms.Demo\                     # WinForms Demo Project (net8.0-windows)
├── Pages\
│   ├── OverviewPage.cs                # Dashboard statistics overview
│   ├── AnalyticsPage.cs               # Chart reporting screen
│   ├── ComponentsPage.cs              # Control suite showcase
│   └── SettingsPage.cs                # Configuration screen
│
├── MainForm.cs                        # Sidebar + content shell
├── Program.cs                         # App entrypoint
└── NetHeroForms.Demo.csproj

.NET Framework Compatibility & Legacy Support

NetHeroForms is written using native Win32 and GDI+ rendering APIs (such as Graphics, GraphicsPath, SolidBrush, and Pen) which are natively supported in all versions of the .NET Framework (back to 2.0 / 3.0 / 3.5 / 4.0 / 4.5).

Out-of-the-box, the solution compiles for .NET Framework 4.8 and .NET 8.0-windows. If you need to integrate these controls into an older framework version:

1. Targeting .NET 4.0 / 4.5

If you are compiling using a modern IDE (Visual Studio 2019 or 2022):

  1. Open the project properties for NetHeroForms.csproj.
  2. Under the Application tab, change the Target Framework to .NET Framework 4.0 or .NET Framework 4.5.
  3. Rebuild the solution. The modern C# compiler will automatically target the legacy framework with zero issues.

2. Targeting Older Compilers (e.g. Visual Studio 2010 / 2008)

If you are using legacy IDEs like Visual Studio 2010 (targeting C# 4.0) or Visual Studio 2008 (targeting C# 3.0), you may need to strip modern C# 8.0 syntax features from the source files:

  • Nullable Annotations: Remove ? and ! operators from reference type declarations (e.g., change HeroCalendar? _calendar to HeroCalendar _calendar).
  • String Interpolation: Change interpolated strings ($"Value: {x}") to traditional string.Format("Value: {0}", x).
  • Property Shorthands: Expand expression-bodied properties (e.g., get => _value; to get { return _value; }).

Once these compiler adjustments are made, the underlying drawing and UI rendering engine will execute perfectly on older runtime frameworks down to .NET 3.5.

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.8

    • No dependencies.
  • net8.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.1-trial 118 6/17/2026