article

Creating a code signing certificate with StartSSL

The process of obtaining a code signing certificate from StartSSL differs significantly from the process I originally went through with Comodo. This blog post serves to document how I did it for StartSSL, both as a reference for myself and for anyone else! Personally I find this approach easier than fiddling around exporting certificates from a browser, and it gives you a lot more control.

avatar
Richard Moss
article

Adding Double Click support to the ComboBox control

I was recently using a `ComboBox` control with the `DropDownStyle` set to `Simple`, effectively turning into a combined text box and list box. However, when I wanted an action to occur on double clicking an item in the list I found that the control doesn't actually offer double click support. I suppose I should have just ripped out the combo box at that point and went with dedicated controls but instead I decided to extend `ComboBox` to support double clicks.

avatar
Richard Moss
article

Dragging items in a ListBox control with visual insertion guides

In my last post, I described how to [drag and drop items to reorder a `ListView` control](/blog/dragging-items-in-a-listview-control-with-visual-insertion-guides). This time I'm going to describe the exact same technique, but this time for the more humble `ListBox`.

avatar
Richard Moss
article

Dragging items in a ListView control with visual insertion guides

I can't remember when it was I first saw something being dragged with an insertion mark for guidance. Whenever it was, it was a long long time ago and I'm just catching up now. This article describes how to extend a `ListView` control to allow the items within it to be reordered, using insertion guides.

avatar
Richard Moss
article

Configuring the emulation mode of an Internet Explorer WebBrowser control

Occasionally I need to embed HTML in my applications. If it is just to display some simple layout with basic interactions, I might use a basic component that doesn't need the weight of Internet Explorer. In most cases however, I need a more complex layout, JavaScript or I might want to display real pages from the internet - in which case I'm lumbered with the `WebBrowser` control. This control annoys me in myriad ways, but it does get the job done. One of the things that occasionally frustrates me is that by default it is essentially an embedded version of Internet Explorer 7 - or enabling Compatibility Mode in a modern IE session. Not so good as more and more sites use HTML5 and other goodies. This article provides a helper class to easily set the browser emulation version from your C# applications.

avatar
Richard Moss
article

Batch Syntax Highlighting in the DigitalRune Text Editor Control

A brief article which describes how to create a definition ruleset to allow better Batch/Command style formatting in the DigitalRune/SharpDevelop Text Editor control.

avatar
Richard Moss
article

CircularBuffer - a first-in, first-out collection of objects using a fixed buffer

An overview of the generic CircularBuffer class. CircularBuffer is a data structure that uses a single, fixed-size buffer that behaves as if it were connected end-to-end. You can use it as a first-in, first-out collection of objects with automatic overwrite support and no array resizing or allocations.

avatar
Richard Moss
article

Add Projects Extension - 1.0.1.0

The Add Projects extension for Visual Studio has been updated to version 1.0.1.0, adding a filter option to make it easier to find specific projects in a long list.

avatar
Richard Moss
article

ColorPicker Controls 1.0.4.0 Update

The [ColorPicker Controls](https://github.com/cyotek/Cyotek.Windows.Forms.ColorPicker) have been updated to version 1.0.4.0. This is a fairly substantial update, with quite a few bug fixes and enhancements to the code. I'll also briefly discuss plans for future updates to the library.

avatar
Richard Moss
article

Adding drag handles to an ImageBox to allow resizing of selection regions

The `ImageBox` control is already a versatile little control and I use it for all sorts of tasks. One of the features I recently wanted was to allow users to be able to select a source region, then adjust this as needed. The control already allows you to draw a selection region, but if you need to adjust that ... well, you can't. You can only draw a new region. This article describes how to extend the `ImageBox` to include the ability to resize the selection region. A older demonstration which shows how to drag the selection around has also been incorporated, in a more tidy fashion than the demo.

avatar
Richard Moss
article

Writing Photoshop Color Swatch (aco) files using C#

The second in a two part series that describes how to load and save Adobe Photoshop colour swatch files using C#. This second article provides a full example project that will write RGB and HSL based swatch files.

avatar
Richard Moss
article

Reading Photoshop Color Swatch (aco) files using C#

The first of a two part series which describes how to load and ultimately save Adobe Photoshop colour swatch files using C#. This first article describes the file format, and provides a full example project that will read RGB based swatch files.

avatar
Richard Moss