.netwindows-servicesgraphic

Graphic Compatibility with Microsoft .NET


I have created a small application using Microsoft .NET. I don't have problems with MS .NET versions, the problem is with the 2.0 version itself.

It's a graphic problem. The application doesn't show the same user interface on two different Windows XP. One with a classic style and the other is XP style. Also this doesn't show the same under Vista.

The difference is not big (I mean a text box doesn't turn into a button!) but the design is completely lost (the colors change and the location of the controls.) This mean my application looks crappy in other computers, which is NOT GOOD as I have spent much time designing it, though it can be used with no problem. it just looks bad

How can I solve this problem? for future application design? Is WPF a solution or it's even worse?


Solution

  • You have several options:

    1. Turn off visual styles and look like classic UI on all OS.
    2. Don't use system colors and hard fix all colors to real numbers.
    3. Use 3rd party skinnable UI Frameworks like Developer Express http://devexpress.com/Products/NET/Controls/WinForms/Skins/ Black
      (source: devexpress.com)
    4. Go to WPF - it will look the same (antialiasing may differ) on all OS supporting it.