views:

284

answers:

2

I code GUIs in .NET frequently, and most of them only have the value of being a GUI, e.g. they don't do anything otherwise impossible. So most of the development goes to making them friendly, intuitive and eye-candy.

Then it comes to my mind it would be simply amazing to skin them through .msstyles files, since there are so many places to find those files, and also tools to make your own. And some of those msstyles are just stunning, probably not for your whole desktop, but for styling homemade apps it would be perfect.

So, is it possible to style apps in .NET (either VB or C#) using .msstyles (or maybe something similar, since .aero.msstyles, .theme, etc. should be convertable to some point)? Even if it requirired some complicated setup or something to learn, once made practical all GUI development would be much easier. Maybe some sort of virtualization? I don't know how virtualization works behind the scenes, but I believe the .NET app calls some Windows API to give him the style, maybe virtualizing that would work? how?

Any idea is very welcome! And if I find an answer to that I'll contribute it as well :)

A: 

Ok, I've found something that may work:

http://www.codeproject.com/KB/library/USkin.aspx?display=Print

If someone provides a better answer, of course, place it here, as I would not choose my own answer unless this question remains here long enough as to be called dead (how much that would be? a week? a month?)

Update: for $60, a good solution with possibility to convert msstyles as well:

http://www.ksdev.com/skinengine/index.html

I'll try both and report my experience eventually.

Update 2: SkinSoft's Visual Styler seems quite good too.

Camilo Martin
+2  A: 

If you want to theme your own GUI then why don't you use WPF?

ZippyV
+1 Exactly. Although I fear we may have an ATI Catalyst Control Panel or some nonsense in the works. :o
280Z28
WPF supports what kind of theming? I didn't bother learning it before because I thought it was more ASP.NET oriented than what I wanted, desktop apps (since for the web I stay away from M$ and use Apache/PHP). Does it support msstyles or something like that (.theme, etc.)?
Camilo Martin
A WPF application uses XAML (xml) to define the interface. It's vector based, you can design your own application wide theme and it supports animations. The best tool available to create all this stuff is Microsoft's Expression Blend.Silverlight is a light-weight version of WPF that targets websites as a Flash alternative.ASP.NET is completely separated from WPF or Silverlight except they share a part of the .Net framework.
ZippyV
Thanks a lot! =)I'll try to learn WPF if it's good as a RAD platform, but since it seems possible (all the tools I mentioned work!) to use msstyles, I'll use it for simple GUIs, while WPF would be surely worth to learn for biger projects. Since most of what I do is RAD :) But I'll probably choose your answer unless some better one pops up ^^
Camilo Martin
P.S.: Is it me or MS took a look at XULRunner?
Camilo Martin
You can still do RAD using WPF, drag and drop controls is still possible and some say the databinding is even superior compared to Winforms.
ZippyV
Thanks! ^^ Answer choosen.
Camilo Martin