Zooming to fit a region in a ScrollableControl
I suspect the titles of these last pair of articles are a touch misleading as they talk about extended zoom operations without actually describing a zoom process (as this is already part of other...
View ArticleImageBox update, version 1.1.0.0
A newer version of this code is now available.The ImageBox control has had quite a big update, you can download the source from the link below, or from our GitHub page.Listed below are the changes made...
View ArticleExtracting email addresses from Outlook
The cyotek.com receives an awful lot of spam and a lot of this is sent to email addresses that don't exist. However, as we currently have catch all's enabled, it means we receive it regardless. This is...
View ArticleManually writing the byte order mark (BOM) for an encoding into a stream
I recently discovered a problem with our WebCopy and Cyotek Sitemap Creator products to do with "corruption" of plain text documents, where non-ANSI characters appeared incorrectly. It didn't take long...
View ArticleImageBox and TabList update's - virtual mode, pixel grid, bug fixes and more!
A newer version of this code is now available.Our last post before the new year and some new material is an update to the ImageBox (now at version 1.1.2.0) and TabList (at version 1.0.0.2) controls....
View ArticleCreating a custom ErrorProvider component for use with Windows Forms...
In recent code, I've been trying to avoid displaying validation errors as message boxes, but display something in-line. The .NET Framework provides an ErrorProvider component which does just this. One...
View ArticleDividing up a rectangle based on pairs of points using C#
Recently we released the first alpha of our latest product, Cyotek Slicr, a tool for slicing up an image. At the heart of this tool is a series of routines that take a given image and pairs of input...
View ArticleColorPicker Controls for Windows Forms
A newer version of this code is now available.Back at the start of the new millennium, I had a publishing agreement with another company to publish our components under their branding. The first of...
View ArticleColorPicker Controls Update 1.0.2.0
I've been pretty busy recently pushing out updates to WebCopy, a pending update to Spriter and working on a game project so blog posts have suffered a bit. While I work to correct that, we've just...
View ArticleCreating a custom TypeConverter part 1 - getting started
It is common practice to create a class that describes something, a person, a product - some entity or other. Your application may provide a sublime UI for editing these objects, or rely on something...
View ArticleCreating a custom TypeConverter part 2 - Instance descriptors, expandable...
In the first part of this article series, I described how to create a simple type converter for converting an object to and from a string. This follow up article expands upon that sample, to include...
View ArticleUsing alternate descriptions for enumeration members
The last two articles (here and here) described creating a custom type converter for converting units of measurement. However, what happens when you want to display or convert to/from alternative...
View ArticleImageBox 1.1.4.0 update
A newer version of this code is now available.Today we've released a new updated version of the ImageBox control, with a nice collection of enhancements and a few bug fixes.Full change log for this...
View ArticleCreating 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...
View ArticleDownloading new and changed Azure storage blobs at scheduled intervals
BackgroundI recently finished moving our Lumitix server from Amazon's EC2 into a hybrid of an Azure Web Role and Azure Blob Storage, and a local machine. It's been running for a couple of weeks now...
View ArticleGetting the hWnd of the edit component within a ComboBox control
I'm currently in the process of dusting off the bugs from a tool written back in 2011. One of the bugs involves an editable ComboBox control paired with a separate Button control. When the button is...
View ArticleVisual Studio Extension for adding multiple projects to a solution
BackgroundMy solutions have lots of references to other projects, either common libraries or unit testing libraries. Neither of these scenarios lend well to manual binary references or NuGet packages,...
View ArticleCyotek Add Projects Extension updated for Visual Studio 2013 RTM
In my last post I introduced Cyotek Add Projects, a simple extension for Visual Studio that allowed you to add multiple projects to a solution.However, I'd left the VSIX manifest version at 11.0,...
View ArticleSpecifying custom text when using the LabelEdit functionality of a TreeView
Recently I was updating a support tool that displays documents in raw form and allows editing of them. This tool is centred around a TreeView, and the Text property of each TreeNode is a concatenation...
View ArticleExtending the LabelEdit functionality of a TreeView to include validation
In my last post I described how to extend the default label edit funcionality of a TreeView control to be somewhat more flexible, by allowing you to specify custom text other than blindly using the...
View Article