Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

799 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beep.Winform.Controls

Modern, themeable WinForms controls for .NET 8 applications — 80+ controls, 35+ form styles, 27 design systems, 130+ painter classes.

NuGet License .NET

Overview

TheTechIdea.Beep.Winform.Controls is a comprehensive library of modern, themeable Windows Forms controls. Every control inherits from BaseControl, which uses a Painter Strategy Pattern to separate rendering from behavior. Forms use BeepiFormPro — a fully custom-drawn Form with 35+ form styles (Material, Fluent, macOS, Cyberpunk, Nord, Dracula, etc.). The entire system is coordinated by BeepThemesManager (global theme switching) and BeepStyling (27 design systems for backgrounds, borders, shadows, and typography).

Core Architecture

Component Description
BaseControl All controls inherit from BaseControl. Provides automatic theming via IBeepUIComponent, pluggable painter system (PainterKind: Classic, Material, Card, Glassmorphism, Neumorphism, etc.), DPI scaling, data binding, hit testing, and tooltip support.
BeepiFormPro Modern borderless Form with 35+ styles via FormStyle enum. Each style has a dedicated IFormPainter that handles caption bar, buttons, borders, and backdrop rendering.
BeepThemesManager Static manager that discovers all IBeepTheme implementations via assembly scanning. Fires ThemeChanged and FormStyleChanged events.
BeepStyling Central styling coordinator with 130+ painter classes across 7 folders supporting 27 design systems (Material3, Fluent2, iOS15, AntDesign, ChakraUI, etc.).
Painter Strategy Rendering pipeline: OnPaint → EnsurePainter() → _painter.UpdateLayout() → _painter.Paint() → DrawingRect. Derived controls only paint their inner content into DrawingRect.

Library Stats

  • 80+ Controls Available
  • 35+ Form Styles (BeepiFormPro)
  • 27 Design Systems (BeepStyling)
  • 130+ Painter Classes

Installation

# Package Manager Console
Install-Package TheTechIdea.Beep.Winform.Controls

# .NET CLI
dotnet add package TheTechIdea.Beep.Winform.Controls

# Package Reference
<PackageReference Include="TheTechIdea.Beep.Winform.Controls" Version="1.0.207" />

Quick Start

using TheTechIdea.Beep.Winform.Controls;
using TheTechIdea.Beep.Winform.Controls.Forms.ModernForm;
using TheTechIdea.Beep.Winform.Controls.ThemeManagement;

public class MainForm : BeepiFormPro
{
    public MainForm()
    {
        Text = "My App";
        FormStyle = FormStyle.Material;

        var btn = new BeepButton();
        btn.Text = "Hello Beep!";
        btn.Size = new Size(160, 45);
        btn.Location = new Point(50, 100);
        btn.ImagePath = "icons/save.svg";
        btn.Click += (s, e) => MessageBox.Show("Hello!");
        Controls.Add(btn);
    }
}

// In Program.cs
BeepThemesManager.ApplyTheme("MaterialBlue");
Application.Run(new MainForm());

Documentation

Full documentation is available in the Help folder:

Solution Structure

Project Description
TheTechIdea.Beep.Winform.Controls Main controls library (NuGet: TheTechIdea.Beep.Winform.Controls)
TheTechIdea.Beep.Winform.Controls.Design.Server Design-time support for Visual Studio toolbox integration
TheTechIdea.Beep.Winform.Controls.Tests Unit tests

License

MIT License — see LICENSE.txt

Requirements

  • .NET 8.0 or later
  • Windows (WinForms)

Releases

Packages

Used by

Contributors

Languages