When I was starting to develop in VS.net I wanted that nice XP-Look for all of my programs. The problem is, that Visual Studio shipped without most of them. The most missed controls where the Taskbox/Taskbar control and the Grouped ListView Contol.
I ran into implementations of some of the controls on the internet (namely vbAccelerator and the TaskVision Sample on http://www.windowsforms.net) and into a document provided by Microsoft named “Windows XP Design Guidelines”. This document provides detailed information on some of the new controls and I started to recreate some of these controls for VS.net (with hints and help from the sites mentioned above – thank you again!) The one feature I wanted to have with the XP Controls was theming. But since it always needed some direct dll calls to uxtheme.dll I wrote my own theming dll. This has some positive and some negative effects.
Positive:
It runs on any OS that supports the .net-Framework; means it will run on non-XP Systems like Win95 and Win2000. That said, I must also tell you that the theme listener and the grouping and tiling of the XPListGroup won’t work without Win XP.
I didn’t have to write a lot of API-calls
Negative:
If Microsoft introduces a new theme or you download one from the internet, the controls will not support this one until it’s hardwired into the code.
As a workaround for the negative part I have exposed all properties of the theming formats to the IDE so you can define any combination of formats you want.
The collection of controls grew over time and include now balloon tips, cue banners, a textbox provider, panes, …
The newest addition are the Windows Forms Stylesheet (a separate project before) that will allow you change properties of your forms and controls at runtime, based on a xml definition file (similar to CSS in HTML).
Source Code
You can find the XPCC code and controls at http://www.codeplex.com/xpcc