C# – Add context menu in a datagrid view in a winform application

cdatagridviewnetwinforms

How to show a Context Menu when you right click a Menu Item in a DataGridView ?
I would like to add delete in the menu so that the entire row can be deleted .
Thanks in Advance

Best Answer

You'll need to create a context menu with a "delete row" option in the designer. Then assign the DGV (Data Grid View)'s ContextMenuStrip property to this context menu.

Then double click on the delete row item, and add this code:

DGV.Rows.Remove(DGV.CurrentRow);

You'll also need to add a MouseUp event for the DGV that allows the current cell to change when you right click it:

private void DGV_MouseUp(object sender, MouseEventArgs e)
{
    // This gets information about the cell you clicked.
    System.Windows.Forms.DataGridView.HitTestInfo ClickedInfo = DGV.HitTest(e.X, e.Y);

    // This is so that the header row cannot be deleted
    if (ClickedInfo.ColumnIndex >= 0 && ClickedInfo.RowIndex >= 0)

    // This sets the current row
    DataViewMain.CurrentCell = DGV.Rows[ClickedInfo.RowIndex].Cells[ClickedInfo.ColumnIndex];
}