DataGridViewCell.GetInheritedContextMenuStrip Method (Int32)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets the inherited shortcut menu for the current cell.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public virtual ContextMenuStrip GetInheritedContextMenuStrip(
	int rowIndex


Type: System.Int32

The row index of the current cell.

Return Value

Type: System.Windows.Forms.ContextMenuStrip

A ContextMenuStrip if the parent DataGridView, DataGridViewRow, or DataGridViewColumn has a ContextMenuStrip assigned; otherwise, null.

Exception Condition

The value of the DataGridView property of the cell is not null and the specified rowIndex is less than 0 or greater than the number of rows in the control minus 1.


ColumnIndex is less than 0, indicating that the cell is a row header cell.

If the cell does not have an associated ContextMenuStrip, it will inherit one from its parents, using the following precedence:

  1. This cell's ContextMenuStrip

  2. The owning row's DataGridViewRow.ContextMenuStrip

  3. The owning column's DataGridViewColumn.ContextMenuStrip

  4. The parent table's System.Windows.Forms.ContextMenuStrip

Shortcut menus are Microsoft Windows native resources whose lifetimes are typically directed by the Dispose method or the destructor.

Pass the GetInheritedContextMenuStrip method the row index you used to retrieve the DataGridViewCell. Do not use the RowIndex property for the rowIndex parameter. If the row is shared, RowIndex is -1, which is not a valid value for rowIndex.

.NET Framework
Available since 2.0
Return to top