article

ColorEcho - adding colour to echoed batch text

We use batch files for... well, pretty much everything. From simple files that simple optimize modified graphics, to the tendril-like files that build our software. For some time now, I've been using `cecho.exe` from a CodeProject article so that I highlight errors and successes. Sadly this tool doesn't output anything if a console window isn't in use (for example from a CI server) and so I created a quick C# version for a direct replacement.

avatar
Richard Moss
article

Essential Algorithms - A Book Review

This post is a review (or possibly some long winded rambling) of the book [Essential Algorithms: A Practical Approach to Computer Algorithms](http://www.wiley.com/go/essentialalgorithms) by Rod Stephens and published by Wiley.

avatar
Richard Moss
article

Hosting a ColorGrid control in a ToolStrip

The `ColorGrid` control is a fairly useful control for selecting from a predefined list of colours. However, it can take up quite a bit of screen real estate depending on how many colours it contains. This article describes how you can host a `ColorGrid` in a standard `ToolStrip` control, providing access to both the `ColorGrid` and the `ColorPickerDialog`, with some custom painting to show the active colour on the button to round it off.

avatar
Richard Moss
article

Tools we use - 2014 edition

Following on from [last years](/blog/tools-we-use-2013-edition) post, I'll list again what I'm using and seeing what (if anything) has changed. tl;dr; - it's pretty much the same as last year

avatar
Richard Moss
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