GridDesktops-Kontextmenü verwalten

Einführung

Die ContextMenuManager-Klasse wird verwendet, um die Kontextmenüelemente zu verwalten. Das GridDesktop.ContextMenuManager-Attribut ruft die Instanz des ContextMenuManager-Objekts ab. Beispielsweise erhält oder legt das Attribut ContextMenuManager.MenuItemAvailable_Copy einen Wert fest, der angibt, ob das Kontextmenüelement Kopieren verfügbar ist oder nicht. Ebenso haben wir alle entsprechenden Attribute für verschiedene Kontextmenüelemente.

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

Verwalten des Kontextmenüs

Ausblenden von Kontextmenüelementen

Um diese Aufgabe auszuführen, werfen wir zunächst einen Blick auf das standardmäßige Kontextmenü des GridDesktop.

Das Standardmenü von GridDeskop

todo: Bild_alt_Text

Blenden Sie nun einige Menüpunkte mit dem folgenden Code aus:

// 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 dem Ausführen des obigen Codes sind einige Menüpunkte für die Benutzer nicht sichtbar:

Einige Menüpunkte sind ausgeblendet

todo: Bild_alt_Text

Neue Menüpunkte hinzufügen

Fügen Sie der Liste mithilfe des folgenden Codeausschnitts ein neues Kontextmenüelement 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 spezifizieren auch einen Event-Handler für den neuen Befehl/die neue Option.

// 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 ist im Kontextmenü ein neuer Menüpunkt zu sehen. Eine Meldung wird auch angezeigt, wenn auf die Zelle geklickt wird.

Der Liste wird ein neuer Menüpunkt hinzugefügt

todo: Bild_alt_Text