XP Style

Hi all,

first off thanks for clicking,

I have added some third party controls from Janus that allow an XP Theme to be set if the system running is Windows XP.

This creates a non standard look when these Combo boxes etc. are put on the same form as standard VB.NET Textboxes and Buttons.

Does anybody know how to make Standard Textboxes and Buttons XP style??
KBannerAsked:
Who is Participating?
 
ianmarsdenCommented:
Do what Joe Griffith said.

Open up Notepad or some plain-text editor. Copy & pate the following:
====

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="x86" name="APPLICATION_NAME" type="win32" />
<dependency>
   <dependentAssembly>
     <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" />
   </dependentAssembly>
</dependency>
</assembly>

====
Remember to change the APPLICATION_NAME on the third line to your app's name as it is in VS.
Save the file as "MyApp.exe.manifest" -- the first part, MyApp, must be changed to match exactly the filename of your actual .exe
Also, make sure you save it in the same place as MyApp.exe (or whatever it's called), usually the bin folder.

Ian
0
 
ptakjaCommented:
Just execute this line of code in your initialization routine:

Application.EnableVisualStyles

That turns on XP styles for the controls if the OS is XP.
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
Joe_GriffithCommented:
EnableVisualStyles is only available with VS 2003.  Also in some cases you may need to do this:

Application.EnableVisualStyles()
Application.DoEvents()
0
 
planoczCommented:
check here for free XP software - like ... menus

http://www.divil.co.uk/net/
0
 
KBannerAuthor Commented:
Guys,

That Application.EnableVisualStyles did seem to work in the Form Load event


Added Microsofts Vb.Net checkbox, ComboBox, Textboxes and Buttons to a form. Put Application.EnableVisualStyles()
Application.DoEvents()

in the Form_Load event

zipped it up and sent to my boss since I have Win 2000 Prof.

He sent me back as screen shot. The form appears in XP, but the controls don't!!

Am I missing something guys.

Would be very grateful for your guidance!

0
 
ptakjaCommented:
The FlatStyle property for the controls all need to be set to SYSTEM.  Not standard.  Try that.
0
 
StuartKCommented:
Hi All,

Sorry for late reply. Been away on holiday (vacation)

ptakja - not all controls have the FlatStyle to change to System namely ComboBox and TextBox. obviously TextBox being the main control. Have I overlooked something??

Ian, (and also Joe Griffiths)  - Have done what you said. thanks for that.
Problem is I don't have XP to try out. Have emailed application to my boss, and he'll be able to check it out on his machine. Will let you know once he get back to me. Here's hoping!!!

Thanking all for their help, it's always appreciated!

Stuart
0
 
StuartKCommented:
Just for those who are confused by the reply for StuartK and the original was for KBanner. KBanner is my bosses account that posted on his behalf.
0
 
ptakjaCommented:
On my XP machine, when I call Application.EnableVisualStyles(), combo boxes appear with the XP style.

On controls that have a FlatStyle property, you need to make sure that it is set to System.
That is a little easier that dealing with the manifest file, in my opinion.

Jeff
0
 
ianmarsdenCommented:
StuartK,

ComboBox and TextBox both automatically inherit system visual styles. You don't have to change anything for these to appear in XP style. This is true for most controls that don't have the FlatStyle property.

Ian
0
 
KBannerAuthor Commented:
Hi Ian, Jeff and Joe

Just got a reply from my boss, XP style is now on all controls. The answer is a combination of the two methods described by both of you

This is my solution

- Creating the Manifest file allows XP style to appear for those controls that do not have FlatStyle property.

- Manifest file does not work for controls that have FlatStyle property.

- The answer for FlatStyle controls is to use the solution of setting FlatStyle to System and run the code Application.EnableVisualStyles in the Form_Load event.

I know it's only points, but will increase the points to reflect your dedicated answers. If I could buy you all a pint in the virtual world I would.

Guys, seriously thank you, my boss is well over the moon, and asked me to pass on his thanks aswell.

Stuart
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.