//dataGridView selection changed event. private void dataGridView_History_SelectionChanged(object sender, EventArgs e) {//Removing previously assigned contextMenuStrip if any. foreach (DataGridViewRow temp in dataGridView_History.Rows) temp.ContextMenuStrip = null; //Assigning new contextMenuStrip to the selected rows. foreach (DataGridViewRow temp in dataGridView_History.SelectedRows) temp.ContextMenuStrip = contextMenuStrip1; }