Skip to main content
A newer version of this page is available. .

PopupMenuShowingEventArgs Class

Provides data for the GridView.PopupMenuShowing event.

Namespace: DevExpress.XtraGrid.Views.Grid

Assembly: DevExpress.XtraGrid.v19.1.dll

Declaration

public class PopupMenuShowingEventArgs :
    EventArgs

Remarks

The PopupMenuShowingEventArgs objects are automatically created, initialized and passed to the GridView.PopupMenuShowing event handlers.

Example

The following sample code handles the GridView.PopupMenuShowing event to customize the column header context menu before it is displayed. The code clears default menu items and adds a new command that locks a clicked column’s position.

GridView_ShowGridMenu

using DevExpress.XtraGrid.Menu;
using DevExpress.Utils.Menu;
using DevExpress.XtraGrid.Columns; 
using DevExpress.XtraGrid.Views.Grid;
// ...
private void bandedGridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) {
    if(e.MenuType == GridMenuType.Column) {
        GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
        menu.Items.Clear();
        if(menu.Column != null) {
            menu.Items.Add(CreateCheckItem("Lock this column", menu.Column, null));
        }
    }
}

// Creates a menu item.
DXMenuCheckItem CreateCheckItem(string caption, GridColumn column, Image image) {
    DXMenuCheckItem item = new DXMenuCheckItem(caption, 
      !column.OptionsColumn.AllowMove, image, new EventHandler(OnCanMoveItemClick));
    item.Tag = new MenuColumnInfo(column);
    return item;
}

// Menu item click handler.
void OnCanMoveItemClick(object sender, EventArgs e) {
    DXMenuCheckItem item = sender as DXMenuCheckItem;
    MenuColumnInfo info = item.Tag as MenuColumnInfo;
    if(info == null) return;
    info.Column.OptionsColumn.AllowMove = !item.Checked;
}

class MenuColumnInfo {
    public MenuColumnInfo(GridColumn column) {
        this.Column = column;               
    }
    public GridColumn Column;
}

Inheritance

Object
EventArgs
PopupMenuShowingEventArgs
See Also