# Menu

This topic covers details about menu in C1Ribbon.

## Content

A Menu is a button with a drop-down arrow. It is used in a ribbon application when you need a menu for a small set of related commands. If a user clicks on the arrow, then a dropdown of items is displayed.

The image below depicts the **Menu** item with commands such as Cut, Copy, Paste and ColorPicker.

![Ribbon menu](https://cdn.mescius.io/document-site-files/images/5560dc72-88a5-4eeb-a384-981194dfc831/images/menu_new.png)

### Adding Menu at Design-Time

The **Ribbon Menu** can be added at design-time using the **Ribbon Group Floating Toolbar** or **RibbonGroup Items Collection Editor**. Also, you can customize the look of the Ribbon Menu using the **Ribbon Menu Floating ToolBar** or by editing the properties in the **Properties** Window. For more information about floating toolbars, refer this [topic](/componentone/docs/win/online-ribbon/concepts/designtimesupport/floatingtoolbar). The user can add items to the Menu using the **Ribbon Menu Items Collection Editor**. Refer this [topic](/componentone/docs/win/online-ribbon/concepts/designtimesupport/collectioneditors) for more information on collection editors.

This image below shows the floating toolbar of Menu.

![Floating toolbar](https://cdn.mescius.io/document-site-files/images/5560dc72-88a5-4eeb-a384-981194dfc831/images/menu_ft.png)

### Adding Menu via Code

A Menu can also be added to the **C1Ribbon** control through the code using the <span data-popup-content="This class is available in \u003ca href=\u0022/componentone/docs/win/online-ribbon/\u0022\u003e.NET\u003c/a\u003e and \u003ca href=\u0022/componentone/docs/win/online-ribbon/\u0022\u003e.NET Framework\u003c/a\u003e." data-popup-title="RibbonMenu" data-popup-theme="ui-tooltip-green qtip-green">RibbonMenu</span> class. This is depicted in the code below:

```vbnet
' Add RibbonMenu ribbon item
Dim ribbonMenu As RibbonMenu = New RibbonMenu()
ribbonMenu.Text = "Edit"
Dim cutButton As RibbonButton = New RibbonButton("Cut", Image.FromFile("images\cut.png"))
Dim copyButton As RibbonButton = New RibbonButton("Copy", Image.FromFile("images\copy.png"))
Dim pasteButton As RibbonButton = New RibbonButton("Paste", Image.FromFile("images\paste.png"))
Dim separator As RibbonSeparator = New RibbonSeparator()
Dim colorpicker1 As RibbonColorPicker = New RibbonColorPicker("Color Picker", Image.FromFile("images\fontcolor.png"))
Dim label As RibbonLabel = New RibbonLabel("Select Color")
Dim colorItem As RibbonColorPickerItem = New RibbonColorPickerItem()
ribbonMenu.Items.Add(cutButton)
ribbonMenu.Items.Add(copyButton)
ribbonMenu.Items.Add(pasteButton)
ribbonMenu.Items.Add(separator)
ribbonMenu.Items.Add(colorPicker)
ribbonMenu.Items.Add(label)
ribbonMenu.Items.Add(colorItem)
formatGroup.Items.Add(ribbonMenu)
' Specify the size of the items in dropdown menu
ribbonMenu.PreferredItemSize = ItemSize.Auto
```

```csharp
// Add items to the RibbonMenu
RibbonMenu ribbonMenu = new RibbonMenu();
ribbonMenu.Text = "Edit";
RibbonButton cutButton = new RibbonButton("Cut", Image.FromFile(@"images\cut.png"));
RibbonButton copyButton = new RibbonButton("Copy", Image.FromFile(@"images\copy.png"));
RibbonButton pasteButton = new RibbonButton("Paste",Image.FromFile(@"images\paste.png"));
RibbonSeparator separator = new RibbonSeparator();
RibbonColorPicker colorpicker = new RibbonColorPicker("Color Picker", Image.FromFile(@"images\fontcolor.png"));
RibbonLabel label = new RibbonLabel("Select Color");
RibbonColorPickerItem colorItem = new RibbonColorPickerItem();
ribbonMenu.Items.Add(cutButton);
ribbonMenu.Items.Add(copyButton);
ribbonMenu.Items.Add(pasteButton);
ribbonMenu.Items.Add(separator);
ribbonMenu.Items.Add(colorpicker);
ribbonMenu.Items.Add(label);
ribbonMenu.Items.Add(colorItem);
formatGroup.Items.Add(ribbonMenu);
// Specify the size of the items in dropdown menu
ribbonMenu.PreferredItemSize = ItemSize.Auto;
```

A user can specify the item size in the dropdown menu by specifying the **PreferredItemSize** property. The image below depicts the Menu item in the ribbon control when the **PreferredItemSize** property is set to Large.

![Item size](https://cdn.mescius.io/document-site-files/images/5560dc72-88a5-4eeb-a384-981194dfc831/images/preferreditemsize_menu1.png)