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.
                                               

What’s New in v20.1

To explore the scope, breadth and capabilities of our new products/features, please visit: https://www.devexpress.com/Subscriptions/New-2020-1.xml.
14 comment(s)
John01
John01

May be for now a dummy OfficeSkins dll can be provided which links back to Utils.

1 October 2011
Nate Laff
Nate Laff

Awesome!!! Great call guys!

1 October 2011
renejdm
renejdm

Why not use only one assembly and set up a small application that would allow us to group the skins in the way we want?

1 October 2011
Sigurd Decroos
Sigurd Decroos

Seems ok to me.

Any idea when 11.2 will come out?

1 October 2011
Mike_Grace
Mike_Grace

Hang on. I am pretty sure I left the name 'Metropolis' in another DevExpress blog.

2 October 2011
Mike_Grace
Mike_Grace

Oops. Made a mistake. I called it "Metropolitan" :-)

2 October 2011
Robert Fuchs
Robert Fuchs

> I am pretty sure I left the name 'Metropolis' in another DevExpress blog.

Me too. I even tweeted it.

BTW, who won the Visual Studio Universal?

2 October 2011
Robert Fuchs
Robert Fuchs

That's ok, well done.

> Any idea when 11.2 will come out?

Friday, Dec 2nd, 2011 ;-)

2 October 2011
Sigurd Decroos
Sigurd Decroos

@Robert Fuchs: I know you're joking, but I really hope it will come in the the next 2 weeks or so :).

4 October 2011
Sylvain Gherold
Sylvain Gherold

2nd of November sounds more logical for a 11.2 version ;)

5 October 2011
boodah
boodah

What is the date the launch of the V2011 vol 2?

Excuse my impatience, but I like this kid waiting for Christmas.

Tks

5 October 2011
CESAR F. QüEB
CESAR F. QüEB

Maybe November 28th... :)

15 November 2011
Jeffrey J Young
Jeffrey J Young

So let me get this straight.. You removed skins people were using in live applications from the main utils library to make it "lighter"... Thereby either forcing those applications to change the skin they were using or increase the memory load by 7 meg to get the skin that was working back? Seriously? On a terminal server application you just increased the memory load dramatically... Not good.

16 December 2011
Suhyon L.
Suhyon L.

Thanks.

30 October 2015

Please login or register to post comments.