Solved

XP Style

Posted on 2004-08-18
12
262 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +3
12 Comments
 
LVL 7

Assisted Solution

by:Joe_Griffith
Joe_Griffith earned 100 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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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 100 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 100 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

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…

726 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