peSHIr.Forms 0.0.11-alpha

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

About

What's this?

This library contains some utility functions I have been developing over the last decade or so (some even longer) and that I use in almost anything I write/maintain using Windows Forms these days.

What's so special about that?

There might not be anything really special about this, but maybe you think some of this is useful in your daily .NET developing life? These include things like that build on peSHIr.Core:

  • Form and UserControl derived base classes that implements peSHIr.Progress.IShowProgress and potentially automatically update their content at certain times automatically with a single override.
  • Some basic message box related utility methods that know about peSHIr.Text.LanguageSupport.
  • A MessageBoxWarnings class that implements peSHIr.Progress.IShowProgress, just collects warnings, and can show these warnings in an error message box with one call afterwards if there were any.
  • FormTools extension methods for various things, like an InvokeRequired pattern, a simple splash screen, added text drag/drop support to TextBox controls, making text containing controls automatically select their content on Focus, disabling Button controls while code is running, etc.
  • ResourceTools extension methods to get icons/images from (system DLL) resources, from registry registered open file handlers, and some predefined ones from system resources like this (like the default browser application), etc.
  • UnthemedCalendar, a sub class of the MonthCalendar control that turns off default Windows Themes so you can changes colors and font sizes on it.

Who created this?

My name is Jarno Peschier. I started programming on a Commodore 64 in high school, got a masters degree in Computer Science at Utrecht University at the end of the last century, specializing in GIS algorithms, and I have been developing software all my professional life.

You might also know me by my online name of peSHIr, which is basically the way you write my last name phonetically in Klingon.

At the start of 2025 I worked as a software engineer at Dutch engineering firm Iv, where I personally handled all software development around our scan vehicle (YouTube) using multiple third party software packages, C#, and PowerShell.

The laserscan and photo data Iv collects using this vehicle is used in infrastructure projects all over the Netherlands, but also for monitoring things like trees or quay walls in Amsterdam.

Download

This library is available as a NuGet package on https://nuget.org. To install it, use the following command-line:

dotnet add package peSHIr.Forms

License and Versioning

This library is licensed under the MIT License - please see the LICENSE file for details - and makes use of Semantic Versioning to try and give meaning to the version numbers, at least for the non-prereleased stuff.

Credits

This library wouldn't have been possible without the following:

Show your appreciation for my work

If you like what you see/use you could try one of these links to let me know:

You may also like

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 net47 is compatible.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on peSHIr.Forms:

Package Downloads
peSHIr.Speech

Very basic .NET library easy use of System.Speech in Windows Forms applications in Dutch/English, by the author of peSHIr.Core.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.11-alpha 113 5/21/2025
0.0.10-alpha 111 5/21/2025

Added support for a basic KnownIcons.ApplicationCustom that you can set through ResourceTools.CustomApplicationIcon from application startup and then easily set on FormBase derived forms using ChangeToCustomApplicationIcon().