Verwaltung des Kontextmenüs von GridDesktop

Einführung

Die Klasse ContextMenuManager wird verwendet, um die Kontextmenüpunkte zu verwalten. Das Attribut GridDesktop.ContextMenuManager erhält die Instanz des Objekts ContextMenuManager. Zum Beispiel wird das Attribut ContextMenuManager.MenuItemAvailable_Copy verwendet, um den Wert zu erhalten oder festzulegen, ob der Kontextmenüpunkt Kopieren verfügbar ist oder nicht. Ebenso haben wir entsprechende Attribute für verschiedene Kontextmenüpunkte.

WICHTIG: Standardmäßig sind alle Kontextmenüpunkte in der Liste sichtbar.

Verwaltung des Kontextmenüs

Ausblenden von Kontextmenüpunkten

Um diese Aufgabe auszuführen, werfen wir zuerst einen Blick auf das Standardkontextmenü des GridDesktop.

Standardmenü des GridDeskop

todo:image_alt_text

Jetzt einige Menüpunkte mithilfe des folgenden Codes ausblenden:

// 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;

Nach Ausführung des obigen Codes werden einige Menüpunkte für die Benutzer nicht sichtbar sein:

Einige Menüpunkte sind ausgeblendet

todo:image_alt_text

Hinzufügen neuer Menüpunkte

Fügen Sie mithilfe des folgenden Code-Snippets einen neuen Kontextmenüpunkt zur Liste hinzu.

// 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);

Wir geben auch einen Ereignishandler für den neuen Befehl/Option an.

// 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);
}

Nach Ausführung des obigen Codes wird ein neuer Menüpunkt im Kontextmenü zu sehen sein. Es wird auch eine Nachricht erscheinen, wenn eine Zelle geklickt wird.

Ein neuer Menüpunkt wurde der Liste hinzugefügt

todo:image_alt_text