Click here to Skip to main content
15,887,477 members
Articles / Programming Languages / C#
Tip/Trick

How to separate MenuItems with a horizontal line programatically

Rate me:
Please Sign up or sign in to vote.
4.76/5 (13 votes)
2 Oct 2011CPOL 43.2K   4   7
A MenuItem with special text is rendered as a separator

When my application needed a menu, I chose to code it instead of using the Visual Studio Designer (reasons are out of the scope of this tip).


Then, a new demand arose: a menu item separator should be placed between two menu items to strengthen the grouping of related menu items. But MainMenu doesn't accept a ToolStripSeparator to be added to it nor to its subitems.


But there is a workaround: Simply create a MenuItem with a single dash as descriptive text. It will get converted to a full-width menu item separator when rendered in the menu. A tiny code example follows:



C#
this.Menu = new MainMenu();
this.Menu.Add(
    FirstMenuItem,
    SecondMenuItem,
    new MenuItem("-"),
    ThirdMenuItem
);


Hope it helps someone.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Germany Germany
Ciao,


luker

Comments and Discussions

 
GeneralMy vote of 1 Pin
Singh Vijay Kumar9-Apr-13 19:12
professionalSingh Vijay Kumar9-Apr-13 19:12 
GeneralRe: My vote of 1 Pin
lukeer9-Apr-13 21:21
lukeer9-Apr-13 21:21 
GeneralMy vote of 1 Pin
Member 28729782-Oct-12 9:57
Member 28729782-Oct-12 9:57 
GeneralRe: My vote of 1 Pin
lukeer3-Oct-12 19:44
lukeer3-Oct-12 19:44 
GeneralReason for my vote of 1 http://www.codeproject.com/Tips/2574... Pin
H.N.Pandey3-Oct-11 21:28
H.N.Pandey3-Oct-11 21:28 
GeneralRe: Sorry, but I don't get it. Why would a link to the tip itsel... Pin
lukeer3-Oct-11 22:00
lukeer3-Oct-11 22:00 
GeneralReason for my vote of 5 I knew it, but it's a nice tip! Pin
johannesnestler21-Sep-11 4:25
johannesnestler21-Sep-11 4:25 

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.