Announcing MantisSharp, a .NET client for using the MantisBT REST API
I've released a new open source project named MantisSharp, a simple .NET client for working with the recently introduced REST API for Mantis Bug Tracker.The library is just getting started and is...
View ArticleWriting custom Markdig extensions
Markdig, according to its description, "is a fast, powerful, CommonMark compliant, extensible Markdown processor for .NET". While most of our older projects use MarkdownDeep (including an increasingly...
View ArticleCapturing screenshots using C# and p/invoke
I was recently updating some documentation and wanted to programmatically capture some screenshots of the application in different states. This article describes how you can easily capture screenshots...
View ArticleGetting a window rectangle without the drop shadow
In my last article, I describe how to use the Win32 API to capture screenshots of the desktop. There was one frustrating problem with this however - when capturing an image based on the value of the...
View ArticleBook Review: The C# Helper Top 100
Almost 20 years ago after finishing a training scheme I was hired for my first permanent role. After getting paid for the first time I immediately rushed off to the bookshop to buy myself a programming...
View ArticleCreating a GroupBox containing an image and a custom display rectangle
One of our applications required a GroupBox which was more like the one featured in the Options dialog of Microsoft Outlook 2003. This article describes how to create a custom GroupBox component which...
View ArticleError 80040154 when trying to use SourceSafe via interop on 64bit Windows
We recently moved to Windows 7, and I decided to go with the 64bit version for my machine. One of the utilities we use is a small tool for adding folders to Visual SourceSafe (why we haven't moved to...
View ArticleUsing XSLT to display an ASP.net sitemap without using tables
The quick and easy way of displaying an ASP.net site map (web.sitemap) in an ASP.net page is to use a TreeView control bound to a SiteMapDataSource component as shown in the following...
View ArticleConverting BBCode into HTML using C#
Although the dynamic content in the Cyotek website is written using Markdown syntax using the MarkdownSharp library, we decided to use the more commonly used BBCode tags for the forums.Some of the...
View ArticleUnable to update the EntitySet because it has a DefiningQuery and no element...
After integrating the new forum code, I added basic subscription support. When replying to a topic and opting to subscribe to notifications, the following exception would be thrown:Unable to update the...
View ArticleSnippet: Mime types and file extensions
If you have a mime type and you want to find the default extension for it, you can get this from the Extension value in the following registry key:HKEY_CLASSES_ROOT\MIME\Database\Content Type\<mime...
View ArticleCreating a Windows Forms Label that wraps with C#
One of the few annoyances I occasionally get with C# is the lack of a word wrap facility for the standard Label control.Instead, if the AutoSize property is set to True, the label will just get wider...
View ArticleBoulder Dash Part 1: Implementing Sprite AI
One of the projects I've had on the backburner for over a year now was a Boulder Dash clone. While I was working on this clone I written a basic game engine using GDI, another using managed DirectX,...
View ArticleCreating a Windows Forms RadioButton that supports the double click event
Another of the peculiarities of Windows Forms is that the RadioButton control doesn't support double clicking. Granted, it is not often you require the functionality but it's a little odd it's not...
View ArticleBoulder Dash Part 2: Collision Detection
In our previous post we introduced the Firefly and Butterfly sprites and their movement rules around a random map. Now we're going to update the project to include collision detection and a new player...
View ArticleAdding a horizontal scrollbar to a ComboBox using C#
In our WebCopy application we decided to update the User Agent configuration to allow selection from a predefined list of common agents, but still allow the user to enter their own custom agent if...
View ArticleCreating a scrollable and zoomable image viewer in C# Part 1
A newer version of this code is now available.This is the first part in a series of articles that will result in a component for viewing an image. The final component will support zooming and...
View ArticleCreating a scrollable and zoomable image viewer in C# Part 2
A newer version of this code is now available.In the second part of our Creating a scrollable and zoomable image viewer in C# series we will update our component to support automatic scrolling when...
View ArticleCreating a scrollable and zoomable image viewer in C# Part 3
A newer version of this code is now available.After part 2 added scrolling support, we are now going to extend this to support keyboard scrolling and panning with the mouse.Design supportIn order to...
View ArticleCreating a scrollable and zoomable image viewer in C# Part 4
A newer version of this code is now available.In the conclusion to our series on building a scrollable and zoomable image viewer, we'll add support for zooming, auto centering, size to fit and some...
View Article