DataGridViewCell.ContextMenuStrip Property


Gets or sets the shortcut menu associated with the cell.

 virtual property System::Windows::Forms::ContextMenuStrip ^ ContextMenuStrip { System::Windows::Forms::ContextMenuStrip ^ get(); void set(System::Windows::Forms::ContextMenuStrip ^ value); };
public virtual System.Windows.Forms.ContextMenuStrip ContextMenuStrip { get; set; }
public virtual System.Windows.Forms.ContextMenuStrip? ContextMenuStrip { get; set; }
member this.ContextMenuStrip : System.Windows.Forms.ContextMenuStrip with get, set
Public Overridable Property ContextMenuStrip As ContextMenuStrip

Property Value

The ContextMenuStrip associated with the cell.


This property indicates the shortcut menu that is typically displayed when the user right-clicks the cell.

When the DataGridView control DataSource property is set or its VirtualMode property is true, getting the value of the ContextMenuStrip property raises the CellContextMenuStripNeeded event of the control and returns the value of the DataGridViewCellContextMenuStripNeededEventArgs.ContextMenuStrip property as specified in the event handler. If there are no handlers for the event, getting the value of the ContextMenuStrip property returns the previously specified value or its default value of null.

Handling the CellContextMenuStripNeeded event is primarily useful when working with large amounts of data to avoid performance penalties when setting the cell ContextMenuStrip value for multiple cells. For more information, see Best Practices for Scaling the Windows Forms DataGridView Control.

Changing this property raises the CellContextMenuStripChanged event on the owning DataGridView, if one exists.

You can also specify shortcut menus for individual rows rather than individual cells by setting the row ContextMenuStrip property or handling the DataGridView control's RowContextMenuStripNeeded event. The cell ContextMenuStrip property setting overrides the row ContextMenuStrip property setting, and the CellContextMenuStripNeeded event overrides both the RowContextMenuStripNeeded event and the row ContextMenuStrip property setting. You can specify null for a cell shortcut menu, however, to prevent a row shortcut menu from being overridden.

Applies to

See also