Hardware runs the world. Software controls the hardware. Code generates the software. Have you coded today?
This is the hub for code snippets, useful functions, classes and components that have proven useful in many applications and can make repeating tasks a lot easier.
You can filter the list by tags or sort it with the following controls. Particularly interesting items are highlighted in yellow.
Simple yet powerful translation and localisation library for .NET applications. Supports XAML binding, language fallbacks, count-specific translations, placeholders, and number and time formatting.
Natural sorting of stringsc#classdata★★★★★★
Sorts strings that contain numbers, not character-wise (lexical) but regarding the numeric value: “a1” < “a2” < “a10” < “a11” < “a20”
Fast and comprehensive logging tool for .NET applications. Designed for high-performance, storage-efficient, always-on logging and comes with a useful log viewer application.
AsyncTcpClient & AsyncTcpListenerasyncc#classnetwork★★★★★
An asynchronous variant of TcpClient and TcpListener for .NET Standard. Allows implementing TCP clients or servers with just a few callback methods.
Makes WPF ViewModel classes smart by default. Implements INotifyPropertyChanged and DelegateCommands for auto properties, recognises dependent properties, connects property changed handlers.
Functions for blending of multiple colours, conversion between HSL and RGB colour space, greyscale conversion and more helper functions for handling of colours.
A WPF TreeView control with support for multiple selection.
Base class for ViewModels by the MVVM pattern, with several simplifications for derived classes.
Very easy asynchronous delayed function calls. Typesafe invocation of nearly any method through generic parameters. Delayed calls can be cancelled, pulled forward or repeated later.
Pimped up TextBox with input validation features and support for common hotkeys for text editing.
Simplifies commands for ViewModels by the MVVM pattern. Provides an ICommand implementation which relays the Execute and CanExecute method to the specified delegates.
Graphical animated display of an activity and progress indicator, in a single control.
Describes a method for the MVVM design pattern to control a View from a ViewModel with commands.
Generates a dynamic implementation of an interface with properties that binds to a settings store and implements INotifyPropertyChanged.
A button that displays a colour field instead of a text label. It allows selecting a colour from multiple graphic displays in a drop-down view.
Selection of a colour from a pallette or by adjusting the RGB and HSL components with several graphical displays.
Selection of a colour using a colour wheel, an intuitive graphical visualisation of the HSL colour space, as known from Paint Shop Pro.
Simple read and write access to XML documents through XPath expressions. Automatically creates missing XML elements when writing with XPath.
Provides methods for smooth resizing and moving of controls/windows and for fading windows in and out.
Works off tasks (jobs) in parallel in the background with a specified number of worker threads to optimally use the computing power of multi-core processors.
Displays highlighted clickable text messages with an icon in a window on which the user can perform some action or open a menu with further options.
Provides methods to change the mouse behaviour in applications.
A Dictionary implementation that stores multiple values for each key.
Determines the relative path of a file name to a reference directory.
Provides methods for reading and accessing of command-line parameters and options.
Logs much error data into a file on (unhandled) application failures which can be helpful for developers (crash dump) and displays a general error message.
Adapts an ObservableCollection of a type for use as an ObservableCollection of a base type where covariance doesn’t work.
Lightweight, non-threadsafe locking mechanism to mutually lock methods from executing the same operation.
Combines a Label with a horizontal line, to be used as separator and caption. That looks more simple than a GroupBox with a surrounding border.
Securely encrypts strings and data for the logged in user or the local computer with the Windows API. A separate key is not required.
Selection of a blend colour between two specified colours or of a colour hue with graphical display.
Provides information about the operating system, system architecture, user account or the own assembly.
Functions to start tasks in the background and synchronise them with the UI thread, as well as to wait for the WPF dispatcher.
Functions for comfortable input and output in console applications. Includes environment checks, a progress bar, cursor movement, and line wrapping output.
Displays simple lines in a window just like good old VB6’s Line control (and later WPF’s Line shape), also with dashed or 3D style.
Stores data such as program settings in an XML file and takes care about easy access, safe storage, change notification and control binding.
Allows for playing back of system sounds that are configured in the control panel.
Unix timestamp/DateTime conversionc#math★★
Provides simple conversion methods between UNIX timestamps and .NET DateTime values.
Provides simple methods to check from an XML file on the web whether a program is available in a newer version, and to open the website.
Implements the .NET 2.0 class for the .NET 1.1 framework and offers the possibility to customise it also in newer frameworks.
Converting between Maidenhead locator (used in amateur radio) and latitude/longitude, and calculating of distance and bearing.
Reads measured values from USB TEMPer thermometers and hygrometers.
Performs an ICMP ping to the specified host and measures the time or returns an error message.
Reads the calendar database of the Palm Desktop application.
44 items, ca. 57 340 lines of code, estimated development costs: 110 000 €