BazthalLib 1.1.3

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

BazthalLib UI Library - README

NuGet Downloads License MP3 Player Sample

BazthalLib is a custom C# UI framework designed for themable Windows Forms apps.
All components follow a unified, configurable color system with reusable styling. Library was built alongside projects using it so everything was added to fill a need

Key Features

Unified Theme Engine

  • Centralized ThemeColors.cs defines all color roles.
  • Live propagation of theme updates to all registered controls.
  • JSON support via ThemeColorsJsonConverter.cs for saving/loading themes.

Themable Controls

A full suite of UI elements with built-in theme awareness:

Category Included Controls Buttons ThemableButton, ThemableToolStripButton, ThemableRadioButton Inputs ThemableTextBox, ThemableComboBox, ThemableCheckBox, ThemableNumericUpDown Lists ThemableListBox, ThemableOptionListBox Panels & Grouping ThemablePanel, ThemableGroupBox, ThemableTabControlBase, ThemableTabControlHeader ToolStrips ThemableToolStrip, ThemableStatusStrip, ThemableToolStripTextBox, ThemableToolStripProgressBar, etc. Misc ThemableProgressBar, ThemableTrackBar, ThemableColorPickerDialog, ThemableProcessingDialog, ThemableMessageBox

All components implement or inherit from IThemableControl.

Tinted Image Rendering

  • TintedImageRenderer.cs enables dynamic icon tinting based on accent or foreground color.
  • Integrates with buttons for adaptive shape, focus borders, and scaling tied to image layout.

Utility Classes

  • DebugUtils.cs Debug logging utilities
  • MouseHook.cs Global mouse input handling
  • NativeMethods.cs P/Invoke support for Win32 APIs
  • EyedropperOverlay.cs Live screen color picker with multi-monitor support

Smart Design Patterns

  • NotifyingItemCollection.cs: A custom observable collection with change tracking
  • ThemeManager: Central orchestrator of theming logic and control registration

Ideal For

  • Custom-themed Windows Forms applications
  • Stream overlays, dashboards, and utilities
  • Apps needing runtime theme switching or user-defined color customization

Project Structure

Folder Description Controls All themable UI components Configuration Theme persistence and JSON handling UI Theming engine and rendering tools Systems File handling, execution, networking logic Resources Assets for Color Picker and Theme Selector components

Color Picker Preview

  • Compact and expanded versions of the built-in color picker
Compacted Expanded
Color Picker Dialog Color Picker Dialog - Expanded

Sample App: MP3PlayerV2

  • This MP3 player UI was built entirely with BazthalLib:
Light / Dark Theme HotPink Theme
Light / Dark Main HotPink
Settings Processing Dialog
Settings Loading
Product Compatible and additional computed target framework versions.
.NET 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.

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.1.3 68 7/27/2025
1.1.2 489 7/22/2025
1.1.1 441 7/21/2025
1.0.0 283 7/20/2025