Gestione del menu contestuale di GridDesktops

introduzione

La classe ContextMenuManager viene utilizzata per gestire le voci del menu contestuale. L’attributo GridDesktop.ContextMenuManager ottiene l’istanza dell’oggetto ContextMenuManager. Ad esempio, l’attributo ContextMenuManager.MenuItemAvailable_Copy ottiene o imposta un valore che indica se la voce del menu contestuale Copia è disponibile o meno. Allo stesso modo, abbiamo tutti gli attributi corrispondenti per le diverse voci del menu contestuale.

IMPORTANTE: Per impostazione predefinita, tutte le voci del menu contestuale sono visibili nell’elenco.

Gestione del menu contestuale

Nascondere le voci del menu contestuale

Per eseguire questa attività, per prima cosa diamo un’occhiata al menu contestuale predefinito di GridDesktop.

Menu predefinito di GridDeskop

cose da fare:immagine_alt_testo

Ora nascondi alcune voci di menu usando il codice qui sotto:

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

Dopo aver eseguito il codice sopra, alcune voci di menu non saranno visibili per gli utenti:

Alcune voci di menu sono nascoste

cose da fare:immagine_alt_testo

Aggiunta di nuove voci di menu

Aggiungi una nuova voce di menu contestuale all’elenco utilizzando il seguente frammento di codice.

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

Specifichiamo anche un gestore di eventi per il nuovo comando/opzione.

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

Dopo aver eseguito il codice precedente, è possibile visualizzare una nuova voce di menu nel menu contestuale. Apparirà anche un messaggio quando si fa clic sulla cella.

Una nuova voce di menu viene aggiunta all’elenco

cose da fare:immagine_alt_testo