This documentation is archived and is not being maintained.

DataGridViewCell.GetInheritedContextMenuStrip Method

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.


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

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.