Back to Devexpress

How to: Add DXEditMenuItem to DXPopupMenu and Display Menu as Toolbar

windowsforms-10329-common-features-menus-how-to-add-dxeditmenuitem-to-dxpopupmenu-and-display-menu-as-toolbar.md

latest2.7 KB
Original Source

How to: Add DXEditMenuItem to DXPopupMenu and Display Menu as Toolbar

  • Nov 13, 2018
  • 2 minutes to read

The example demonstrates how to add a DateEdit item to a DXPopupMenu and display the menu as a popup toolbar.

csharp
using DevExpress.LookAndFeel;
using DevExpress.Utils.Menu;
using DevExpress.XtraEditors.Repository;

private void Form1_MouseDown(object sender, MouseEventArgs e) {
    Control parentControl = this;
    Point pt;
    pt = e.Location;
    DXPopupMenu dxPopupMenu = new DXPopupMenu();
    dxPopupMenu.Items.Add(new DXEditMenuItem("dateedit", new RepositoryItemDateEdit(), 
        new EventHandler(OnEditValueChanged), null, null, 100, 0));
    dxPopupMenu.Items.Add(new DXMenuItem("About", new EventHandler(AboutButton_Click)));
    dxPopupMenu.Items.Add(new DXMenuItem("Calculate", new EventHandler(CalculateButton_Click)));
    dxPopupMenu.MenuViewType = MenuViewType.Toolbar;
    ((IDXDropDownControl)dxPopupMenu).Show(barManager1, parentControl, pt);
}

void OnEditValueChanged(object sender, EventArgs e) {
    DXEditMenuItem item = sender as DXEditMenuItem;
    MessageBox.Show(item.EditValue.ToString());
}

void AboutButton_Click(object sender, EventArgs e) {
    //...
}

void CalculateButton_Click(object sender, EventArgs e) {
    //...
}
vb
Imports DevExpress.Utils.Menu
Imports DevExpress.LookAndFeel
Imports DevExpress.XtraEditors.Repository

Private Sub Form1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles MyBase.MouseDown
    Dim parentcontrol As Control = Me
    Dim pt As Point
    pt = e.Location
    Dim dxPopupMenu As New DXPopupMenu
    dxPopupMenu.Items.Add(New DXEditMenuItem("dateedit", New RepositoryItemDateEdit, _
        AddressOf OnEditValueChanged, Nothing, Nothing, 100, 0))
    dxPopupMenu.Items.Add(New DXMenuItem("About", AddressOf AboutButton_Click))
    dxPopupMenu.Items.Add(New DXMenuItem("Close", AddressOf CalculateButton_Click))
    dxPopupMenu.MenuViewType = MenuViewType.Toolbar
    CType(dxPopupMenu, IDXDropDownControl).Show(BarManager1, parentcontrol, pt)
End Sub

Private Sub OnEditValueChanged(ByVal sender As System.Object, ByVal e As EventArgs)
    Dim item As New DXEditMenuItem()
    item = sender
    MessageBox.Show(item.EditValue.ToString())
End Sub

 Private Sub AboutButton_Click(ByVal sender As Object, ByVal e As EventArgs)
    '...
 End Sub

 Private Sub CalculateButton_Click(ByVal sender As Object, ByVal e As EventArgs)
    '...
 End Sub