Back to Devexpress

PopupMenuShowingEventArgs.Menu Property

windowsforms-devexpress-dot-xtralayout-dot-popupmenushowingeventargs.md

latest3.4 KB
Original Source

PopupMenuShowingEventArgs.Menu Property

Gets or sets the menu that is about to be displayed.

Namespace : DevExpress.XtraLayout

Assembly : DevExpress.XtraLayout.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
public DXPopupMenu Menu { get; set; }
vb
Public Property Menu As DXPopupMenu

Property Value

TypeDescription
DXPopupMenu

The menu that is about to be displayed.

|

Remarks

You can handle the LayoutControl.PopupMenuShowing event to customize the menu before it is displayed. Use the Menu property to access the menu object and customize its contents.

Example

The following example shows how to add custom menu items to the Context Menu via the LayoutControl.PopupMenuShowing event.

Two menu items are added: Save Layout which saves the current layout to a memory buffer; and Restore Layout which restores the previously saved layout. Clicking these items will call the LayoutControl.SetDefaultLayout and LayoutControl.RestoreDefaultLayout methods respectively.

The image below shows the resultant menu:

csharp
using DevExpress.XtraLayout;
using DevExpress.Utils.Menu;

private void layoutControl1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) {
   e.Menu.Items.Add(new DXMenuItem("&Save Layout", new EventHandler(SaveLayout)));
   e.Menu.Items.Add(new DXMenuItem("&Restore Layout", new EventHandler(RestoreLayout)));
}

private void SaveLayout(object sender, EventArgs e) {
   layoutControl1.SetDefaultLayout();
}

private void RestoreLayout(object sender, EventArgs e) {
   layoutControl1.RestoreDefaultLayout();
}
vb
Imports DevExpress.XtraLayout
Imports DevExpress.Utils.Menu

Private Sub LayoutControl1_PopupMenuShowing(ByVal sender As System.Object, _
  ByVal e As PopupMenuShowingEventArgs) Handles LayoutControl1.PopupMenuShowing
    e.Menu.Items.Add(New DXMenuItem("&Save Layout", AddressOf SaveLayout))
    e.Menu.Items.Add(New DXMenuItem("&Restore Layout", AddressOf RestoreLayout))
End Sub

Private Sub SaveLayout(ByVal sender As Object, ByVal e As EventArgs)
    LayoutControl1.SetDefaultLayout()
End Sub

Private Sub RestoreLayout(ByVal sender As Object, ByVal e As EventArgs)
    LayoutControl1.RestoreDefaultLayout()
End Sub

See Also

PopupMenuShowingEventArgs Class

PopupMenuShowingEventArgs Members

DevExpress.XtraLayout Namespace