How to: Add Enhancements to ToolStripMenuItems

You can enhance the usability of MenuStrip and ContextMenuStrip controls in the following ways:

  • Add check marks to designate whether a feature is turned on or off, such as whether a ruler is displayed along the margin of a word-processing application, or to indicate which file in a list of files is being displayed, such as on a Window menu.

  • Add images that visually represent menu commands.

  • Display shortcut keys to provide a keyboard alternative to the mouse for performing commands. For example, pressing CTRL+C performs the Copy command.

  • Display access keys to provide a keyboard alternative to the mouse for menu navigation. For example, pressing ALT+F chooses the File menu.

  • Show separator bars to group related commands and make menus more readable.

To display a check mark on a menu command

  • Set its Checked property to true.

    This also sets the CheckState property to true. Use this procedure only if you want the menu command to appear as checked by default, regardless of whether it is selected.

To display a check mark that changes state with each click

To add an image to a menu command

Note

The image margin can also show a check mark if you so choose. Also, you can set the Checked property of the image to true, and the image will appear with a hatched border around it at run time.

To display a shortcut key for a menu command

  • Set the menu command's ShortcutKeys property to the desired keyboard combination, such as CTRL+O for the Open menu command, and set the ShowShortcutKeys property to true.

To display custom shortcut keys for a menu command

To display an access key for a menu command

  • When you set the Text property for the menu command, enter an ampersand (&) before the letter you want to be underlined as the access key. For example, typing &Open as the Text property of a menu item will result in a menu command that appears as Open.

    To navigate to this menu command, press ALT to give focus to the MenuStrip, and press the access key of the menu name. When the menu opens and shows items with access keys, you only need to press the access key to select the menu command.

Note

Avoid defining duplicate access keys, such as defining ALT+F twice in the same menu system. The selection order of duplicate access keys cannot be guaranteed.

To display a separator bar between menu commands

  • After you define your MenuStrip and the items it will contain, use the AddRange or Add method to add the menu commands and ToolStripSeparator controls to the MenuStrip in the order you want.

    ' This code adds a top-level File menu to the MenuStrip.  
    Me.menuStrip1.Items.Add(New ToolStripMenuItem() _  
    {Me.fileToolStripMenuItem})  
    
    ' This code adds the New and Open menu commands, a separator bar,
    ' and the Save and Exit menu commands to the top-level File menu,
    ' in that order.  
    Me.fileToolStripMenuItem.DropDownItems.AddRange(New _  
    ToolStripMenuItem() {Me.newToolStripMenuItem, _  
    Me.openToolStripMenuItem, Me.toolStripSeparator1, _  
    Me.saveToolStripMenuItem, Me.exitToolStripMenuItem})  
    
    // This code adds a top-level File menu to the MenuStrip.  
    this.menuStrip1.Items.Add(new ToolStripItem[]_  
    {this.fileToolStripMenuItem});  
    
    // This code adds the New and Open menu commands, a separator bar,
    // and the Save and Exit menu commands to the top-level File menu,
    // in that order.  
    this.fileToolStripMenuItem.DropDownItems.AddRange(new _  
    ToolStripItem[] {  
    this.newToolStripMenuItem,  
    this.openToolStripMenuItem,  
    this.toolStripSeparator1,  
    this.saveToolStripMenuItem,  
    this.exitToolStripMenuItem});  
    

See also