views:

180

answers:

3

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?

+2  A: 

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.

Jon Skeet
+3  A: 
Mash
Thanks system colors were really causing a problem.I'll give a look on this framework may be they do better the job!
Omar Abid
I find this option 1 and 2 close to pure evil. When creating a program, it should look as standard as possible, and if someone decides to change the system colors, your application should support that instead of just being stubborn. If you're using colors for graphing purposes you shouldn't use the system colors but if your using colors in your GUI, you should try to use the correct system color, to support current and future versions. At the minimal you should support a high-contrast scheme. (Check for Office 2007 how to deal with color scheme's but still have a unique look)
Davy Landman
I'm agree that high contrast and large fonts are properties that you should take care in application. Other than that I don't think it's required to use only system colors and always look natural. Many modern software - including Office 2007, Live Tools, Adobe CS4 not using system colors at all and not feeling bad about that.
Mash
@Mash lets just say that from a usability standpoint, matching the default style and general UI principles make your applications much better to use. Tools such as Office 2007 and Adobe CS4 have big books written about them to explain how to use the program, in an ideal world, your program would not need a manual to be used by a fairly competent computer user. Not deviating from the systems standard gets you in the right direction.
Davy Landman
@Davy Landman: It's interesting and debatable question. I don't want to discuss that in comments. Later I'll ask that question to community. My opinion in general, that conforming to exact system colors not that important as being nice, intuitive, user friendly. A lot of good web applications not using system colors, not writing books and they are very popular and good grom UI pov.
Mash
@Mash in that question I shouldn't talk about web applications, because they are from a totally different category. It would be very hard, and non standard way to match the system colors, if only due to the impossibility of obtaining them.
Davy Landman
@Davy Landman: I don't know the reason to separate web applications from normal one. They often doing the same. And what is interesting - nobody feels uncomfortable that those apps not in native Look and Feel.
Mash
A: 

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?

John Saunders