[Expand]General Information
[Collapse]WinForms Controls
  .NET Core Support
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Collapse]Common Features
  [Expand]Data Binding Common Concepts
  [Expand]Data Source Wizard
  [Expand]Application Appearance and Skin Colors
  [Expand]Filtering UI Context
   Find Panel Syntax
  [Expand]Graphics Performance and High DPI
  [Expand]Scaffolding Wizard
  [Expand]Formatting Values
   HTML-inspired Text Formatting
    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
    How to: Implement Custom Menu in XtraGrid Control
  [Expand]Save and Restore Layouts
   Clipboard - Copy and Paste Operations. Data Formatting
   Version Compatibility: Default Property Values
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com


DXPopupMenu is a popup menu embedded in DevExpress .NET controls. If you need to create a custom popup menu, we recommend you to use the PopupMenu component instead. You can still use DXPopupMenu for this purpose. However, DXPopupMenu does not provide a designer, so you will need to customize DXPopupMenu solely in code.

This document provides more information on the DXPopupMenu.

Expanded 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.


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.

VGridControl, PropertyGridControl














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.

Expanded 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.

Expanded 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.


    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.

Expanded Miscellaneous

A number of members affect the DXPopupMenu's look:

Expanded Examples

Expanded See Also

Is this topic helpful?​​​​​​​