Category / Section
How to Create Customized Cell Context Menu in WinForms Spreadsheet?
1 min read
Customize the cell context menu
WinForms Spreadsheet (SfSpreadsheet) provides support to customize the cell context menu. User can add their own custom menu items and add this to the cell context menu of Spreadsheet.
For example, create a custom context menu items such as Insert Row, Insert Column, Delete Row and Delete Column respectively.
public ContextMenuStrip CustomContextmenu()
{
var contextMenu = new ContextMenuStrip();
contextMenu.BackColor = Color.White;
//MENU1
var Insertrow = new ToolStripMenuItem() { Text = "InsertRow", Height = 26 };
Insertrow.BackColor = Color.White;
Insertrow.Click += Insertrow_Click;
//MENU2
var Deleterow = new ToolStripMenuItem() { Text = "DeleteRow", Height = 26 };
Deleterow.BackColor = Color.White;
Deleterow.Click += Deleterow_Click;
//MENU3
var Insertcolumn = new ToolStripMenuItem() { Text = "Insertcolumn", Height = 26 };
Insertcolumn.BackColor = Color.White;
Insertcolumn.Click += Insertcolumn_Click;
//MENU4
var Deletecolumn = new ToolStripMenuItem() { Text = "Deletecolumn", Height = 26 };
Deletecolumn.BackColor = Color.White;
Deletecolumn.Click += Deletecolumn_Click;
contextMenu.Items.Add(Insertrow);
contextMenu.Items.Add(Deleterow);
contextMenu.Items.Add(Insertcolumn);
contextMenu.Items.Add(Deletecolumn);
return contextMenu;
}
Now set this function CustomContextmenu to the CellContextMenu property of Active SpreadsheetGrid in the WorkbookLoaded event of SfSpreadsheet.
void spreadsheet_WorkbookLoaded(object sender, WorkbookLoadedEventArgs args)
{
spreadsheet.ActiveGrid.CellContextMenuOpening += ActiveGrid_CellContextMenuOpening;
}
private void ActiveGrid_CellContextMenuOpening(object sender, Syncfusion.Windows.Forms.CellGrid.Helpers.CellContextMenuOpeningEventArgs e)
{
e.CellContextMenu = CustomContextmenu();
}
The following screenshot illustrates the Spreadsheet after creating the cell context menu.
Sample
Link: SpreadsheetDemo