article

Downloading new and changed Azure storage blobs at scheduled intervals

A sample project which downloads new and changed blobs from Azure storage, and optionally uploads new and changed local files.

avatar
Richard Moss
article

Creating long running Windows Forms applications without a start-up form

Sometimes you may wish to create an application that sits running in the background but doesn't actually display an initial user interface. However, the user can interact with the application and so therefore its not appropriate to be a service. Often such applications are accessible from a system tray icon. Another viable requirement might be for multiple top level windows, for example recent versions of Microsoft Word, where each document has its own application window. By default however, a normal Windows Form application displays the start-up form which definitely isn't desirable, especially as hiding this form isn't as straightforward as you might expect. Fortunately however, the framework provides us with the `ApplicationContext` class that can be used by `Application.Run`. This article describes how to use application contexts to create an application that initially has only a system tray icon to which further functionality can be accessed.

avatar
Richard Moss
article

ImageBox 1.1.4.0 update

Update 1.1.4.0 of the ImageBox control is now available, with a large number of new features and bug fixes.

avatar
Richard Moss
article

Using alternate descriptions for enumeration members

Enums are useful language features. But what happens when you want to display a string version of an enum member rather than just casting the member to a string? You could manually create a switch statement for conversion, and periodically update such functions when extending the source enum. Or you could use the power of reflection and attributes to do it automatically.

avatar
Richard Moss
article

Creating a custom TypeConverter part 2 - Instance descriptors, expandable properties and standard values

This article describes extending a custom `TypeConverter` created previously to support better code generation, expandable properties, and dropdown lists containing standard values.

avatar
Richard Moss
article

Creating a custom TypeConverter part 1 - getting started

Type converters allow classes to be edited via designers such as the `PropertyGrid`. This article details how to create a simple type converter to and from a `string` for use with a `PropertyGrid` control.

avatar
Richard Moss
article

ColorPicker Controls for Windows Forms

A quick overview of a new open source library for selecting colors in Windows Forms applications.

avatar
Richard Moss
article

Dividing up a rectangle based on pairs of points using C#

An article which describes how to use C# to split a rectangle into multiple smaller parts based on pairs of co-ordinates.

avatar
Richard Moss
article

Creating a custom ErrorProvider component for use with Windows Forms applications

An article which describes how to create a custom ErrorProvider in C# that changes the background colour of fields with validation errors.

avatar
Richard Moss
article

ImageBox and TabList update's - virtual mode, pixel grid, bug fixes and more!

Update 1.1.2.0 of the ImageBox control is now available, with a variety of new features and bug fixes.

avatar
Richard Moss
article

Manually writing the byte order mark (BOM) for an encoding into a stream

A short article which describes how manually writer the byte order mark (BOM) of an encoding into a stream

avatar
Richard Moss