?
Solved

XP Style

Posted on 2004-08-18
12
Medium Priority
?
274 Views
Last Modified: 2010-04-23
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??
0
Comment
Question by:KBanner
  • 3
  • 2
  • 2
  • +3
12 Comments
 
LVL 7

Assisted Solution

by:Joe_Griffith
Joe_Griffith earned 400 total points
ID: 11832176
0
 
LVL 14

Expert Comment

by:ptakja
ID: 11832211
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
 
LVL 7

Expert Comment

by:Joe_Griffith
ID: 11832238
EnableVisualStyles is only available with VS 2003.  Also in some cases you may need to do this:

Application.EnableVisualStyles()
Application.DoEvents()
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 27

Expert Comment

by:planocz
ID: 11834837
check here for free XP software - like ... menus

http://www.divil.co.uk/net/
0
 

Author Comment

by:KBanner
ID: 11845436
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
 
LVL 14

Assisted Solution

by:ptakja
ptakja earned 400 total points
ID: 11845575
The FlatStyle property for the controls all need to be set to SYSTEM.  Not standard.  Try that.
0
 

Accepted Solution

by:
ianmarsden earned 400 total points
ID: 11860683
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
 

Expert Comment

by:StuartK
ID: 11901544
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
 

Expert Comment

by:StuartK
ID: 11901610
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
 
LVL 14

Expert Comment

by:ptakja
ID: 11901636
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
 

Expert Comment

by:ianmarsden
ID: 11906882
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
 

Author Comment

by:KBanner
ID: 11951317
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

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

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.

Join & Write a Comment

If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
When you have multiple client accounts to manage, it often feels like there aren’t enough hours in the day. With too many applications to juggle, you can’t focus on your clients, much less your growing to-do list. But that doesn’t have to be the cas…
Watch the video of Kernel Migrator for SharePoint, which demonstrate the process easily of migration from SharePoint to SharePoint, OneDrive for Business & Google Drive servers, Public Folder to SharePoint, File Server to SharePoint. The tool has va…

569 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question