WinForms Metro - How It Made Us Re-Think Our WinForms Application Skin Delivery Model

Thinking Out Loud
01 October 2011

As you already know by now, DXperience v2011 vol 2 will ship with a Metro-style WinForms skin named Metropolis (yes, we'll be following up with Peter Thorpe who originally suggested the name so we can get him some DX swag). Because this new skin might be a frequently used theme, it makes total sense to add it to the assembly that is automatically referenced by all WinForms apps that use our Controls. This means we need to extend Utils.dll, which already includes numerous skins…

The need to extend Utils.dll forced our team to re-evaluate the way in which we package WinForms Skins.

Presently, we have three separate assemblies – Utils, BonusSkins and OfficeSkins. Only the first is referenced by default when you drop our components onto a form. This means that to apply an Office 2010 style, you have to reference an additional assembly. Some of you know that when we add a new skin, it gets placed in the BonusSkins assembly and as a result, the new skin may never be used if your application does not reference the BonusSkins DLL.

To make things more straightforward, we are going to place all the latest and most frequently-used skins into to the Utils assembly so that these skins are available in every application by default. "Frequently-used” themes refer to those that emulate the latest Microsoft apps – including Office 2010, Windows 7, Visual Studio 2010 and, the newly-implemented Metro look and feel.

The following image shows what you can expect in Utils.dll v2011 vol 2.

WinForms Skin Assembly

All other skins will be available via the BonusSkins assembly. We'll thus go from 3 to 2 assemblies.

The upside is a better organized and lighter default assembly. The obvious disadvantage of this change is that you might need to check your project when upgrading to v2011 vol 2 to make certain that the appropriate DLLs are referenced.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.