Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Extensions.UI
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Collapse]DevExpress.XtraBars
    AnimationType Enumeration
   [Expand]Bar Class
   [Expand]BarAndDockingController Class
   [Expand]BarAndDockingControllerLookAndFeel Class
   [Expand]BarBaseButtonItem Class
   [Expand]BarBaseButtonItemLink Class
   [Expand]BarButtonGroup Class
   [Expand]BarButtonGroupLink Class
   [Expand]BarButtonItem Class
   [Expand]BarButtonItemLink Class
    BarButtonStyle Enumeration
    BarCanDockStyle Enumeration
   [Expand]BarCheckItem Class
   [Expand]BarCheckItemLink Class
   [Expand]BarCustomContainerItem Class
   [Expand]BarCustomContainerItemLink Class
   [Expand]BarCustomDrawEventArgs Class
    BarCustomDrawEventHandler Delegate
   [Expand]BarDockControl Class
   [Expand]BarDockingMenuItem Class
   [Expand]BarDockingMenuItemLink Class
    BarDockStyle Enumeration
   [Expand]BarDockWindow Class
   [Expand]BarDockWindowCollection Class
   [Expand]BarEditItem Class
   [Expand]BarEditItemLink Class
   [Expand]BarHeaderItem Class
   [Expand]BarHeaderItemLink Class
   [Expand]BarItem Class
    BarItemBorderStyle Enumeration
    BarItemCaptionAlignment Enumeration
   [Expand]BarItemCustomDrawEventArgs Class
    BarItemCustomDrawEventHandler Delegate
    BarItemEventFireMode Enumeration
   [Expand]BarItemImageOptions Class
   [Expand]BarItemLink Class
   [Expand]BarItemLinkCollection Class
   [Expand]BarItemLinkReadOnlyCollection Class
    BarItemPaintStyle Enumeration
   [Expand]BarItems Class
    BarItemVisibility Enumeration
   [Expand]BarLargeButtonItem Class
   [Expand]BarLargeButtonItemLink Class
   [Expand]BarLinkContainerItem Class
   [Expand]BarLinkContainerItemLink Class
    BarLinkUserDefines Enumeration
   [Expand]BarListItem Class
   [Expand]BarListItemLink Class
   [Expand]BarManager Class
   [Expand]BarManagerAppearances Class
   [Expand]BarManagerCategory Class
   [Expand]BarManagerCategoryCollection Class
   [Expand]BarManagerMergeEventArgs Class
    BarManagerMergeEventHandler Delegate
   [Expand]BarManagerProperties Class
   [Expand]BarMdiChildrenListItem Class
   [Expand]BarMdiChildrenListItemLink Class
    BarMdiMenuMergeStyle Enumeration
    BarMenuMerge Enumeration
    BarOptionFlags Enumeration
   [Expand]BarOptions Class
   [Expand]Bars Class
   [Expand]BarShortcut Class
   [Expand]BarStaticItem Class
   [Expand]BarStaticItemLink Class
    BarStaticItemSize Enumeration
   [Expand]BarSubItem Class
   [Expand]BarSubItemLink Class
   [Expand]BarToggleSwitchItem Class
   [Expand]BarToggleSwitchItemLink Class
   [Expand]BarToolbarsListItem Class
   [Expand]BarToolbarsListItemLink Class
   [Expand]BaseBarManagerOptions Class
   [Expand]CreateCustomizationFormEventArgs Class
    CreateCustomizationFormEventHandler Delegate
   [Expand]CreateToolbarEventArgs Class
    CreateToolbarEventHandler Delegate
   [Expand]DefaultBarAndDockingController Class
   [Expand]HighlightedLinkChangedEventArgs Class
    HighlightedLinkChangedEventHandler Delegate
   [Expand]ItemCancelEventArgs Class
    ItemCancelEventHandler Delegate
   [Expand]ItemClickEventArgs Class
    ItemClickEventHandler Delegate
   [Expand]LinkEventArgs Class
    LinkEventHandler Delegate
   [Expand]ListItemClickEventArgs Class
    ListItemClickEventHandler Delegate
   [Expand]MenuAppearance Class
    MenuDrawMode Enumeration
   [Expand]PopupControlContainer Class
   [Collapse]PopupMenu Class
     PopupMenu Members
    [Expand]PopupMenu Constructor
    [Expand]PopupMenu Properties
    [Expand]PopupMenu Events
    [Expand]PopupMenu Methods
   [Expand]PopupMenuBase Class
    PopupShowMode Enumeration
   [Expand]QueryShowPopupMenuEventArgs Class
    QueryShowPopupMenuEventHandler Delegate
   [Expand]RibbonAppearances Class
   [Expand]RibbonGalleryAppearances Class
   [Expand]RibbonGalleryBarItem Class
   [Expand]RibbonGalleryBarItemLink Class
   [Expand]RibbonProperties Class
   [Expand]ShortcutItemClickEventArgs Class
    ShortcutItemClickEventHandler Delegate
   [Expand]ShowToolbarsContextMenuEventArgs Class
    ShowToolbarsContextMenuEventHandler Delegate
   [Expand]StandaloneBarDockControl Class
   [Expand]StateAppearances Class
   [Expand]Strings Class
   [Expand]TabForm Class
   [Expand]TabFormControl Class
   [Expand]TabFormControlBase Class
   [Expand]TabFormPage Class
    ToolTipAnchor Enumeration
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[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]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

PopupMenu Class

The popup menu, managed by a BarManager or RibbonControl.

Namespace:DevExpress.XtraBars
Assembly:DevExpress.XtraBars.v17.2.dll

Expanded Syntax

Expanded Remarks

The PopupMenu can be used to provide easy access to frequently used commands for a specific control. When associated with an object, the popup menu is opened by right-clicking the object. The popup menu can also be displayed in code, using the ShowPopup method.

The PopupMenu needs to be associated with a BarManager or RibbonControl. If your project does not contain these components, add one of them to the form. At design time, the PopupMenu is automatically associated with a BarManager or RibbonControl if they are present on the form. When creating a PopupMenu in code, ensure that the PopupMenuBase.Manager or PopupMenuBase.Ribbon property refers to an existing BarManager or RibbonControl component.

Expanded Design-Time Menu Customization

At design time, the PopupMenu can be customized by clicking the menu's smart tag and selecting Customize.

A click on this link opens the Popup Menu Editor (different editors are used when the menu is associated with the BarManager and RibbonControl).

If the PopupMenu is associated with the BarManager, the Bar Manager's Customization window and a standalone Popup Menu Editor are invoked.

You can customize the menu in a number of ways.
  • Dragging commands from the Customization window to the Popup Menu Editor.
  • Clicking the [Add] button in the Popup Menu Editor.
  • Using a context menu provided by the popup menu's items.
  • Selecting the popup menu's item and changing its settings in the Visual Studio Properties grid.

If the PopupMenu is associated with a RibbonControl, the Sub Menus and Popup Menus page of the Ribbon Control's Designer is opened, providing menu customization tools.

The designer allows you to customize the menu by:

  • Dragging commands from the command list (displayed in the center).
  • Clicking the [Add] button displayed below all popup menu items.
  • Selecting the popup menu's item and changing its settings in the Properties grid.

Expanded Menu Items

Items in popup menus are represented by bar item objects. The PopupMenu supports the display of any bar item that is provided by the DevExpress Ribbon, Menu and Docking Library: buttons, sub-menus, editors, static text, etc. For more information, see the Bar Item Links and The List of Bar Items and Links topics.

To populate a popup menu with items in code, add a specific bar item (a BarItem descendant) to the PopupMenuBase.ItemLinks collection.

Expanded Sub-menu Show Mode

You can use the BarManager.PopupShowMode and RibbonControl.PopupShowMode properties to specify how popup menus display their sub-menus. Sub-menus can be displayed in the traditional cascaded style as shown in the figure below.

Another option is to display sub-menus in-place of their parent popup menus. In this mode, when an end-user hovers over a sub-menu button with the mouse pointer, the currently opened menu hides and in its place, the required sub-menu is displayed. This mode is more convenient for application designed for tablet devices, as it allows you to save valuable screen space. The figure below shows how the sub-menu is displayed in the in-place mode.

If the in-place mode is enabled, sub-menus can display navigation headers that allow an end-user to navigate backward. See the ShowNavigationHeader setting for details.

By default, sub-menus are displayed in the traditional cascaded way when managed by the BarManager component and in all styles of the RibbonControl control, except for the TabletOffice and OfficeUniversal styles. In these styles, sub-menus are displayed in the in-place mode by default.

Expanded Associating Menu with Controls

An existing PopupMenus can be assigned to the BarButtonItem.DropDownControl or DropDownButton.DropDownControl property. In this instance, the PopupMenu appears when an appropriate BarButtonItem or DropDownButton's drop-down arrow is clicked.

When a BarManager or RibbonControl is present on the form, all controls publish the PopupContextMenu property at design time (its caption in the Properties window looks like 'PopupContextMenu on barManager1' or 'PopupContextMenu on ribbonControl1'). You can use this property to assign a PopupMenu to this control. This menu will then be displayed when right-clicking on the control at runtime.

To assign a PopupMenu to a control in code, use the BarManager.SetPopupContextMenu method.
Note

Specific complex controls such as the Grid Control and Tree List do not publish the PopupContextMenu property, as these controls support different context menus for different visual elements. See the help documentation on these products, to learn how to work with context menus in these controls.

Expanded Example

The following code displays a specific PopupMenu if the right mouse button is pressed:

Expanded Inheritance Hierarchy

System.Object
    System.MarshalByRefObject
       System.ComponentModel.Component
          PopupMenuBase
             PopupMenu
                ApplicationMenu
                GalleryDropDown

Expanded See Also

How would you rate this topic?​​​​​​​