Hantera GridDesktops kontextmeny

Introduktion

Klassen ContextMenuManager används för att hantera kontextmenyobjekten. Attributet GridDesktop.ContextMenuManager hämtar instansen av objektet ContextMenuManager. Till exempel hämtar eller sätter attributet ContextMenuManager.MenuItemAvailable_Copy ett värde som indikerar om kontextmenyobjektet Kopiera är tillgängligt eller inte. På samma sätt har vi alla motsvarande attribut för olika kontextmenyobjekt.

VIKTIGT: Som standard är alla kontextmenyobjekten synliga i listan.

Hantera kontextmenyn

Dölja kontextmenyobjekt

För att utföra denna uppgift tittar vi först på den standards kontextmeny som GridDesktop har.

GridDesktops standardmeny

todo:image_alt_text

Nu, dölj några menyobjekt med hjälp av koden nedan:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Get the ContextMenuManager
ContextMenuManager cmm = this.grdDataEntry.ContextMenuManager;
// Hide the Copy option in the context menu
cmm.MenuItemAvailable_Copy = false;
// Hide the InsertRow option in the context menu
cmm.MenuItemAvailable_InsertRow = false;
// Hide the Format Cell dialog box
cmm.MenuItemAvailable_FormatCells = false;

Efter att ovanstående kod har exekverats kommer vissa menyobjekt inte att vara synliga för användarna:

Några menyobjekt är dolda

todo:image_alt_text

Lägga till nya menyobjekt

Lägg till ett nytt kontextmenyobjekt i listan med hjälp av följande kodsnutt.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Get the active worksheet
Worksheet sheet = grdDataEntry.GetActiveWorksheet();
// Set the total columns diaplyed in the grid
sheet.ColumnsCount = 15;
// Set the total rows displayed in the grid
sheet.RowsCount = 15;
// Define a new menu item and specify its event handler
MenuItem mi = new MenuItem("newMenuItem", new System.EventHandler(miClicked));
// Set the label
mi.Text = "New Item";
// Add the menu item to the GridDesktop's context menu
grdDataEntry.ContextMenu.MenuItems.Add(mi);

Vi specificerar också en händelsehanterare för den nya kommandot/alternativet.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Event Handler for the new menu item
private void miClicked(object sender, EventArgs e)
{
MenuItem mi = (MenuItem)sender;
MessageBox.Show("miCliked: " + mi.Text);
}

Efter att ovanstående kod har exekverats kan ett nytt menyobjekt ses i kontextmenyn. Ett meddelande kommer också att visas när cellen klickas.

En ny menyföremål läggs till i listan

todo:image_alt_text