Question

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?

Was it helpful?

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.

OTHER TIPS

Have you tried using Application.EnableVisualStyles? Have you isolated the differences between the two different XP computers? It's not entirely clear to me what your application looks like in the two cases - if you could add a screenshot to your question it would help a lot.

One question you should ask yourself is whether you really want to ignore the UI settings your users have made. If they choose the XP style, then should you really ignore it and show them some other style?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top