Sphere10.Framework.Windows.Forms 3.0.3

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

🖼️ Sphere10.Framework.Windows.Forms

Windows Forms UI framework and component library providing data binding controls, database connection panels, validation components, and presentation utilities for desktop applications.

Sphere10.Framework.Windows.Forms enables rapid Windows desktop application development with pre-built UI components for database connectivity, data display, user input validation, and common desktop patterns.

📦 Installation

dotnet add package Sphere10.Framework.Windows.Forms

⚡ 10-Second Example

using Sphere10.Framework.Windows.Forms;

// Create a database connection panel that adapts to selected DBMS
var connectionPanel = new DatabaseConnectionPanel();
connectionPanel.SelectedDBMSType = DBMSType.SQLServer;

// Get connection string and DAC from the panel
string connectionString = connectionPanel.ConnectionString;
IDAC dac = connectionPanel.GetDAC();

🏗️ Core Concepts

Database Connection Controls: DatabaseConnectionPanel dynamically loads appropriate UI based on selected database type (SQLite, SQL Server, Firebird).

Custom Controls: Enhanced controls like PathSelectorControl, ProgressBarEx, PropertyGridEx, RadioGroupBox, and validation indicators.

Data Binding: Enhanced data binding with validation and change notification.

Wizard Framework: Multi-step wizard UI pattern implementation.

Source Grid: Advanced data grid component for tabular data display.

🔧 Core Components

DatabaseConnectionPanel

Dynamic database connection UI that loads appropriate controls based on selected provider:

using Sphere10.Framework.Windows.Forms;
using Sphere10.Framework.Data;

public class MainForm : Form {
    private DatabaseConnectionPanel _connectionPanel;
    
    public MainForm() {
        InitializeComponent();
        
        _connectionPanel = new DatabaseConnectionPanel();
        
        // Optionally hide certain database types
        _connectionPanel.IgnoreDBMS = new[] { DBMSType.FirebirdFile };
        
        // Handle DBMS type changes
        _connectionPanel.DBMSTypeChanged += OnDBMSChanged;
        
        Controls.Add(_connectionPanel);
    }
    
    private void OnDBMSChanged(DatabaseConnectionPanel sender, DBMSType newType) {
        // Panel automatically loads correct connection UI:
        // - SQLServer: MSSQLConnectionPanel
        // - Sqlite: SqliteConnectionPanel  
        // - Firebird: FirebirdConnectionPanel
        // - FirebirdFile: FirebirdEmbeddedConnectionPanel
    }
    
    private async void TestConnection() {
        var result = await _connectionPanel.TestConnection();
        if (result.IsSuccess) {
            MessageBox.Show("Connection successful!");
            
            // Get the DAC for database operations
            using var dac = _connectionPanel.GetDAC();
            // Use dac...
        } else {
            MessageBox.Show($"Connection failed: {result.ErrorMessages.First()}");
        }
    }
}

PathSelectorControl

File/folder path selection with browse button:

using Sphere10.Framework.Windows.Forms;

var pathSelector = new PathSelectorControl();
pathSelector.Mode = PathSelectionMode.File;  // or Folder
pathSelector.Path = @"C:\Data\file.txt";

// User can type path or browse
string selectedPath = pathSelector.Path;

ProgressBarEx

Enhanced progress bar with text display:

using Sphere10.Framework.Windows.Forms;

var progressBar = new ProgressBarEx();
progressBar.DisplayStyle = ProgressBarDisplayText.Percentage;
progressBar.Value = 75;  // Shows "75%"

ValidationIndicator

Visual validation state indicator:

using Sphere10.Framework.Windows.Forms;

var validator = new ValidationIndicator();
validator.State = ValidationState.Valid;    // Green checkmark
validator.State = ValidationState.Invalid;  // Red X
validator.State = ValidationState.Pending;  // Yellow

RadioGroupBox

Group box with built-in radio button management:

using Sphere10.Framework.Windows.Forms;

var radioGroup = new RadioGroupBox();
// Radio buttons inside are mutually exclusive

ServiceStatusControl

Display Windows service status:

using Sphere10.Framework.Windows.Forms;

var serviceStatus = new ServiceStatusControl();
serviceStatus.ServiceName = "MyService";
// Displays: Running, Stopped, Starting, etc.

🛠️ Tools.WinForms Namespace

using Tools;

// Create custom cursor from bitmap
Cursor cursor = WinForms.CreateCursor(bitmap, hotspotX, hotspotY);

// Load cursor from raw bytes
Cursor rawCursor = WinForms.LoadRawCursor(cursorBytes);

📋 Available Components

Controls

Control Description
CheckedGroupBox Group box with checkbox header
PathSelectorControl File/folder path selection
ProgressBarEx Progress bar with text display
PropertyGridEx Enhanced property grid
RadioGroupBox Radio button group container
ServiceStatusControl Windows service status display
ValidationIndicator Visual validation state
ExpandingCircle Animated expanding circle
PictureBoxEx Enhanced picture box
UserControlEx Enhanced user control base

Database Components

Component Description
DatabaseConnectionPanel Dynamic DBMS connection UI
DatabaseConnectionBar Compact connection bar
ConnectionPanelBase Base class for connection panels
IDatabaseConnectionProvider Interface for connection providers

Other

Component Description
Wizard Multi-step wizard framework
SourceGrid Advanced data grid
LoadingCircle Loading animation
ExplorerBar Explorer-style navigation bar
AppointmentBook Appointment/calendar UI

📦 Dependencies

  • Sphere10.Framework: Core framework
  • Sphere10.Framework.Data: Database abstraction
  • System.Windows.Forms: Windows Forms (.NET built-in)
  • System.Drawing: Graphics support

✅ Status & Compatibility

  • Maturity: Production-tested for Windows desktop applications
  • .NET Target: .NET 8.0+ (Windows), .NET Framework 4.7+ (legacy)
  • Platform: Windows only (Windows Forms)

⚖️ License

Distributed under the MIT NON-AI License.

See the LICENSE file for full details. More information: Sphere10 NON-AI-MIT License

👤 Author

Herman Schoenfeld - Software Engineer

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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Sphere10.Framework.Windows.Forms:

Package Downloads
Sphere10.Framework.Windows.Forms.Firebird

Windows Forms integration for Sphere10.Framework.Data.Firebird. Provides desktop UI helpers and components intended to work with Sphere10 Framework WinForms and the Firebird provider for data-driven applications.

Sphere10.Framework.Windows.Forms.MSSQL

Windows Forms integration for Sphere10.Framework.Data.MSSQL. Provides desktop UI helpers and components intended to work with Sphere10 Framework WinForms and the SQL Server provider for data-driven applications.

Sphere10.Framework.Windows.Forms.Sqlite

Windows Forms integration for Sphere10.Framework.Data.Sqlite. Provides desktop UI helpers and components intended to work with Sphere10 Framework WinForms and the SQLite provider for data-driven applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.3 83 1/6/2026
3.0.2 82 1/2/2026
3.0.1 85 1/2/2026
3.0.0 88 1/2/2026