Click here to Skip to main content
13,046,356 members (108,737 online)
Click here to Skip to main content
Add your own
alternative version


113 bookmarked
Posted 23 Feb 2004

Office 2003 Menus

, 23 Feb 2004
Rate this:
Please Sign up or sign in to vote.
A component to change the look of the menus to that of Office 2003


Just with one Single Line of code, you can change the look of all Menus and Context menus of your Windows Forms Project to look just like the menus shipped with Office 2003. Also, you can add Icons to your menus with a single line of code. There is one more feature in this component, You can simple call the method End to change the menus to its original look.

Using the code

To use the Component, First, add the component to the Toolbox, and then drag it to the form, and then just call this Method:

// To start showing the Office 2003 Menus
OfficeMenus1.Start( FormName );

Also, you can change the look of the menus to its original look by calling this method:

// to change the look of the menus to its original "classic" look

Adding Icons to Menu Items is very simple, Just add an ImageList to your project, and then change the ImageList property of your OfficeMenu Component to the ImageList you wish to use, and then use this code:

// Adding a picture to your Menus
// OfficeMenus.AddPicture( MenuItem MenuItemToAddPictureTo, int ImageIndex );
OfficeMenus1.ImageList = imageList1;
OfficeMenus1.AddPicture(menuItem2, 1);

Points of Interest

I was so confused about the way i will add pictures to menus, so i decided to add a collection of type NameValueCollection, and when we call the method AddPicture it will add the Handle of the menu and the Image index to that Collection, and when we want to retrieve the image of a menu, we search this collection for the handle of the menu, if found it returns the picture, otherwise it returns null. Check the code for more information. BTW, the code is well commented.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Mohammed Halabi
Saudi Arabia Saudi Arabia
No Biography provided

You may also be interested in...

Comments and Discussions

QuestionLicense terms Pin
Rotted Frog12-Nov-12 1:18
memberRotted Frog12-Nov-12 1:18 
QuestionUpdated Code? Pin
kevinlkingma17-Nov-06 5:06
memberkevinlkingma17-Nov-06 5:06 
GeneralGood Control: But..... Pin
Sameers (theAngrycodeR )22-Oct-06 15:02
memberSameers (theAngrycodeR )22-Oct-06 15:02 
GeneralProblem With images in a menu Pin
Indarjeet28-Aug-06 23:49
memberIndarjeet28-Aug-06 23:49 
GeneralThe problem about the contextmenu Pin
sleet_t12-Dec-05 22:23
membersleet_t12-Dec-05 22:23 
GeneralBug Report : Menu Disappears Pin
MrEyes27-Nov-05 13:51
memberMrEyes27-Nov-05 13:51 
All in all this is a great control, so first let me say well done.

But as the title of the thread suggests I have found a bug, that I am at a loss to explain.

I have placed the Menu control as the MainMenu for an MDI parent form, when this form loads it loads references to all the MDI children (via reflection) (each MDI child is in its own class library). When I open 2 mdi children and then close them the MainMenu seems to self destruct.

I know self destruct is a poor explanation so this is what basically happens. When the second MDI child is closed all text from the MainMenu disappears. If I click on now empty MainMenu it does popup the sub menus but these have no text. If I click where there should be an entry the request event is fired and the MainMenu suddenly gets its items back.

Does anybody know what could be causing this, as it would be a real shame to have to drop the component for this.

I am quite confident that it is the control causing this as if I put a "return;" at the top of the Start(...) function (effectively disabling the control) I do not get this bug

As a test I created a simple test app that doesnt do any of that fancy reflection loading. A simple project with 2 forms: an MDI parent and an MDI child. Both forms have MainMenus on them one of the MenuItems on the parent shows the child form. If I launch a single child form I can open and close to my hearts content, if I open 2 child forms, when i close them both the MainMenu disappears as described above. If I remove the MainMenu component from the child MDI form the problem disappears. I am fairly confident that this has something to do with the redraws but at the moment I am at a loss to explain it.

A little more investigation has found that if I have an MdiList MenuItem, this is still visible when all other menu components disappear. On a side note there is still the bug as described in the post "Using MdiList in Menu" where the MdiList menu items are not rendered with the MSO 2K3 style.
QuestionContext Menues Pin
Golden Dragon9-Oct-05 12:24
memberGolden Dragon9-Oct-05 12:24 
AnswerRe: Context Menues Pin
Josma3-May-06 23:29
memberJosma3-May-06 23:29 
Generali want to learn program by VC++ Pin
thanhvu4-Oct-05 21:39
memberthanhvu4-Oct-05 21:39 
Questionhow can a draw a line separator? Pin
axelbrian8-Sep-05 6:09
memberaxelbrian8-Sep-05 6:09 
AnswerRe: how can a draw a line separator? Pin
Thomas-H.7-Oct-05 1:34
memberThomas-H.7-Oct-05 1:34 
GeneralUsing MdiList in Menu Pin
JK_net3-Jul-05 22:41
memberJK_net3-Jul-05 22:41 
GeneralShortcut Display Pin
DarthVeda16-Jun-05 2:32
memberDarthVeda16-Jun-05 2:32 
GeneralRe: Shortcut Display Pin
Balder1978-24-Sep-05 2:11
memberBalder1978-24-Sep-05 2:11 
QuestionIs there any possibility to use more than one contextmenu per form? Pin
tgrk7-Jun-05 5:37
membertgrk7-Jun-05 5:37 
GeneralGreat control, but I have problem with ContextMenus Pin
tgrk7-Jun-05 3:45
membertgrk7-Jun-05 3:45 
GeneralRe: Great control, but I have problem with ContextMenus Pin
tgrk7-Jun-05 4:58
membertgrk7-Jun-05 4:58 
GeneralContext menu on notify icon Pin
Alex Matthews31-May-05 0:01
memberAlex Matthews31-May-05 0:01 
GeneralRe: Context menu on notify icon Pin
Balder1978-24-Sep-05 2:14
memberBalder1978-24-Sep-05 2:14 
GeneralOwner Drawn dynamic content bug Pin
JoeKau14-May-05 2:01
memberJoeKau14-May-05 2:01 
GeneralRe: Owner Drawn dynamic content bug Pin
Liosha13-Sep-05 22:43
memberLiosha13-Sep-05 22:43 
GeneralRe: Owner Drawn dynamic content bug Pin
JoeKau13-Sep-05 23:07
memberJoeKau13-Sep-05 23:07 
GeneralRe: Owner Drawn dynamic content bug Pin
Liosha14-Sep-05 1:47
memberLiosha14-Sep-05 1:47 
Generalfor hotkey Pin
pichamp10-Mar-05 22:07
memberpichamp10-Mar-05 22:07 
GeneralRe: for hotkey Pin
Nguyen Le23-Mar-05 18:00
memberNguyen Le23-Mar-05 18:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.170713.1 | Last Updated 24 Feb 2004
Article Copyright 2004 by Mohammed Halabi
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid