Click here to Skip to main content
13,447,595 members (51,716 online)
Click here to Skip to main content
Add your own
alternative version


51 bookmarked
Posted 2 Dec 2002

Improvement of the .NET Menu Style class

, 14 Jan 2003
Rate this:
Please Sign up or sign in to vote.
This is an improvement by Francesco Natali over an improvement by Sajith M of the "Visual Studio .NET Menu Style" by Carlos H. Perez
<!-- Article image -->

Sample Image - nicemenu.png

<!-- Add the rest of your HTML here -->


With this new ".NET Menu Style" class you can get a great menu with only few lines of code. You don't have to write a line of code for each menu item because your menu now will be AUTOMATICALLY updated! This is very useful, 'cause now you can still build and update your menu with the VS.NET tool, but at runtime you'll have always a new fresh .NET style menu. Another improvement is about the menu images, now you can use a simple imagelist to store your icon, and with a line of code and a simple trick (to add the index of the image near the text of the menu item), you'll get your image near your menu item.

I've updated this class, now you can use icons with context menu and search for a MenuItem at runtime with an easy function. Now you can also download a nice RTF file editor that use the .NET style menu. This RTF file editor is still under development, however it's already a good example of C# programming.

Using the code

You have to add:

using Utility.NiceMenu;

and after the "InitializeComponent()" code:

NiceMenu myNiceMenu = new NiceMenu();
    new NiceMenuClickEvent(nameofyourclickfunction));

If you want to add some incons in your menu you have to:

  • add an imagelist control in your form
  • add your icons in your imagelist control
  • add in your menu items the index of the icon in the first two characters. For example:
    • 00New
    • 01Open
    • 02Close
  • After the NiceMenu myNiceMenu = new NiceMenu(); code you have to add this simple line of code:
myNiceMenu.imgMenu = nameofyourimagelist; 

Points of Interest

There are a lot of comments with the code, so... enjoy!


This is an improvement by Francesco Natali over an improvement by Sajith M of the "Visual Studio .NET Menu Style" by Carlos H. Perez


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

Francesco Natali
Web Developer
Italy Italy
No Biography provided

You may also be interested in...

Comments and Discussions

GeneralGreat tool. Beware if you re using multiple context menues Pin
anton_fernando25-Jun-07 10:29
memberanton_fernando25-Jun-07 10:29 
GeneralConverting to Visual Studio 2005 ToolStripMenuItem Pin
Veeran Kutty31-Jan-06 7:38
memberVeeran Kutty31-Jan-06 7:38 
GeneralConvenient click handler for menu Pin
CoreyRIT6-Jan-06 7:58
memberCoreyRIT6-Jan-06 7:58 
GeneralRe: Convenient click handler for menu Pin
anton_fernando23-May-06 9:55
memberanton_fernando23-May-06 9:55 
GeneralAdding a Windows Form to a menu Pin
Jim Barber27-Aug-05 19:18
memberJim Barber27-Aug-05 19:18 
AnswerRe: Adding a Windows Form to a menu Pin
illium31-Jul-06 18:45
memberillium31-Jul-06 18:45 
Generalsubmenu arrow Pin
SoTTo27-Jun-05 4:45
memberSoTTo27-Jun-05 4:45 
QuestionMC++ ? Pin
CppBeginner9-Oct-04 0:55
memberCppBeginner9-Oct-04 0:55 
QuestionEnabled works?? Pin
mpwt17-Sep-04 0:58
membermpwt17-Sep-04 0:58 
Generalvery nice tool Pin
sherb13-Sep-04 2:19
membersherb13-Sep-04 2:19 
GeneralRe: very nice tool Pin
Anonymous14-Apr-05 18:04
sussAnonymous14-Apr-05 18:04 
QuestionHow can I set the submenuItem's Checked Status? Pin
hanll4-Jul-04 22:34
memberhanll4-Jul-04 22:34 
AnswerRe: How can I set the submenuItem's Checked Status? Pin
hanll4-Jul-04 23:27
memberhanll4-Jul-04 23:27 
GeneralThanks Pin
sfalong25-Mar-04 2:46
membersfalong25-Mar-04 2:46 
GeneralIcon resources Pin
PPPDev9-Jan-04 5:57
memberPPPDev9-Jan-04 5:57 
QuestionWhat does ModifyRegistry does? Pin
azusakt23-Oct-03 17:49
memberazusakt23-Oct-03 17:49 
QuestionMDIList feature lost? Pin
pingdee22-Oct-03 8:18
memberpingdee22-Oct-03 8:18 
GeneralHotkeyPrefix Pin
lagay8-Sep-03 12:53
memberlagay8-Sep-03 12:53 
The code that determines if the HotkeyPrefix should be set to Hide or Show in the function DrawMenuText did not appear to be working correctly for me. So I changed the code to always set the HotkeyPrefix to HotkeyPrefix.Show and I removed the line of code that removes the ampersand(&) from the text. These two changes allowed the HotkeyPrefix to be shown correctly when the ampersand was present.
GeneralContext Menu and CloneMenu Method Pin
marianod2@hotmail.com22-Aug-03 9:12
membermarianod2@hotmail.com22-Aug-03 9:12 
GeneralOffice 2003 Menu Style Pin
8MX10-Apr-03 10:48
member8MX10-Apr-03 10:48 
GeneralRe: Office 2003 Menu Style Pin
Ray Cassick10-Apr-03 11:48
memberRay Cassick10-Apr-03 11:48 
GeneralBad Code Pin
TemplMetaProg28-Mar-03 1:38
memberTemplMetaProg28-Mar-03 1:38 
GeneralRe: Bad Code Pin
.S.Rod.28-Mar-03 1:58
member.S.Rod.28-Mar-03 1:58 
GeneralEqual Menuitem Name Pin
mveiga23-Jan-03 16:37
membermveiga23-Jan-03 16:37 
GeneralRe: Equal Menuitem Name Pin
lonelywind19826-Apr-06 17:33
memberlonelywind19826-Apr-06 17:33 

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
Web04-2016 | 2.8.180318.3 | Last Updated 15 Jan 2003
Article Copyright 2002 by Francesco Natali
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid