Modern, themeable WinForms controls for .NET 8 applications — 80+ controls, 35+ form styles, 27 design systems, 130+ painter classes.
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).
| 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. |
- 80+ Controls Available
- 35+ Form Styles (BeepiFormPro)
- 27 Design Systems (BeepStyling)
- 130+ Painter Classes
# 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" />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());Full documentation is available in the Help folder:
- Home — Overview and quick start
- Getting Started — Installation guide
- Controls Reference — 95+ control documentation pages
- Guides & Examples — Best practices, performance, accessibility
- Architecture & Internals — Docking, GridX, Chart, Calendar, Theme internals
- Design-Time Infrastructure — Designer classes, action lists, editors
| 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 |
MIT License — see LICENSE.txt
- .NET 8.0 or later
- Windows (WinForms)