Menus
- 4 minutes to read
The DXPopupMenu class is a popup menu and a base class for popup menus used in DevExpress .NET controls. This document contains information about popup menus embedded in DevExpress .NET controls, menu items, display modes, class members and examples.
Popup Menus in DevExpress .NET controls
Specific DevExpress .NET controls (such as GridControl, TreeList, PivotGridControl, LayoutControl, etc.) have built-in popup menus, which are DXPopupMenu descendants.
You can customize these control menus via corresponding events.
Control | Menu Customization Event |
---|---|
See Popup Menus to learn more. | |
See Customize the Standard Context Menus to learn more | |
LayoutControl.PopupMenuShowing See Context Menu to learn more. | |
When an event is fired, the menu being customized is passed as the event’s parameter. You can access it and add new items or remove existing items if required.
You can create a custom DXPopupMenu menu and manually display it for your control if required. The following sections describe how to customize built-in and custom menus, and how to display custom menus.
Menu Items
The following objects serve as DXPopupMenu elements. To set up a menu, you can add any of these items to a DXPopupMenu’s Items collection (DXSubMenuItem.Items - this collection is inherited by the DXPopupMenu class from its ancestor).
Item | Description |
---|---|
DXMenuItem | A regular menu item. An item clicking invokes the event handler, which is assigned to the item’s DXMenuItem.Click event. |
DXMenuCheckItem | A menu item that can be checked and unchecked. The check box displayed by the menu item reflects the current check state. Clicking a check menu item toggles the check state and fires the DXMenuCheckItem.CheckedChanged event. |
DXSubMenuItem | A submenu that can contain nested menu items. You can populate the submenu with nested items via the DXSubMenuItem.Items property. The DXSubMenuItem.BeforePopup event allows you to populate the menu dynamically, as the event is called when the DXSubMenuItem is going to be displayed on a screen. |
DXButtonGroupItem | A menu item that can contain a group of buttons. Use the item’s inherited DXSubMenuItem.Items property to add buttons to a group. |
DXEditMenuItem | A menu item that allows you to embed an editor in a DXPopupMenu object. Use the DXEditMenuItem.Edit property to determine the editor’s type. The DXEditMenuItem.EditValue property allows you to set the editor’s initial value. To perform custom actions after the editor’s value is changed, use the DXEditMenuItem.EditValueChanged event. |
Display Modes
A DXPopupMenu object can be displayed as a regular menu, popup bar or RibbonMiniToolbar. To specify the menu’s display mode, set the DXPopupMenu.MenuViewType property to the required enumeration value and use the corresponding menu manager.
When manually displaying a DXPopupMenu, a menu manager can be passed as the popup menu’s IDXDropDownControl.Show method. For built-in menus in DevExpress controls, you can specify a menu manager via a control’s MenuManager property.
The following menu managers are available.
The SkinMenuManager is capable of displaying a DXPopupMenu as a regular menu.
Note
DXEditMenuItem objects are not supported by the SkinMenuManager. These items, which are used to embed in-place editors into popup controls, are presented only in text (without edit boxes). A DXButtonGroupItem object, which is used to present a set of linked buttons, is displayed as a sub-menu by the SkinMenuManager.
The BarManager is capable of displaying DXPopupMenu as a popup bar.
The RibbonControl is capable of displaying a DXPopupMenu as a RibbonMiniToolbar object.
Miscellaneous
A number of members affect the DXPopupMenu’s look:
- The inherited IDXDropDownControl.Show method displays a popup menu. You do not need to use this method to open the DevExpress Controls’ built-in menus, as these menus are automatically displayed on a control’s right click.
- The DXPopupMenu.HidePopup method hides a popup menu.
- The DXPopupMenu.CloseUp event fires after the menu has been closed.
- The DXPopupMenu.Alignment property determines a menu’s alignment relative to the mouse cursor. This property is supported only when the DXPopupMenu is displayed as a RibbonMiniToolbar object.
Examples
- How to Implement Custom Menu in Grid Control.Winforms
- How to: Add DXButtonGroupItem to DXPopupMenu and Display Menu as RibbonMiniToolbar
- How to: Add DXEditMenuItem to DXPopupMenu and Display Menu as Toolbar
- How to: Display DXPopupMenu as a Regular Menu, Popup Bar or RibbonMiniToolbar