Condividi tramite


Interfaccia RibbonMenu

Rappresenta un menu in una scheda della barra multifunzione o nel menu Microsoft Office.

Spazio dei nomi:  Microsoft.Office.Tools.Ribbon
Assembly:  Microsoft.Office.Tools.Common (in Microsoft.Office.Tools.Common.dll)

Sintassi

'Dichiarazione
<GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")> _
Public Interface RibbonMenu _
    Inherits RibbonControl, RibbonComponent, IComponent, IDisposable
[GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")]
public interface RibbonMenu : RibbonControl, 
    RibbonComponent, IComponent, IDisposable

Il tipo RibbonMenu espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica ControlSize Ottiene o imposta le dimensioni del menu.
Proprietà pubblica Description Ottiene o imposta il testo visualizzato nel menu corrente.
Proprietà pubblica Dynamic Ottiene o imposta un valore che specifica la possibilità di modificare il menu in fase di esecuzione.
Proprietà pubblica Enabled Ottiene o imposta un valore che indica se l'oggetto RibbonControl è abilitato. (Ereditato da RibbonControl)
Proprietà pubblica Id Ottiene una stringa utilizzata da Microsoft Office per identificare l'oggetto RibbonControl. (Ereditato da RibbonControl)
Proprietà pubblica Image Ottiene o imposta l'immagine visualizzata nel menu.
Proprietà pubblica ImageName Ottiene o imposta il nome utilizzabile nel gestore eventi LoadImage per identificare un'immagine per il menu.
Proprietà pubblica Items Ottiene l'insieme dei controlli presenti nel menu.
Proprietà pubblica ItemSize Ottiene o imposta le dimensioni dei controlli nel menu.
Proprietà pubblica KeyTip Ottiene o imposta il tasto di scelta da tastiera del menu.
Proprietà pubblica Label Ottiene o imposta il testo visualizzato dal menu.
Proprietà pubblica Name Ottiene o imposta il nome di RibbonComponent. (Ereditato da RibbonComponent)
Proprietà pubblica OfficeImageId Ottiene o imposta l'immagine da visualizzare nel menu se si desidera utilizzare un'icona incorporata di Microsoft Office.
Proprietà pubblica Parent Ottiene un oggetto RibbonComponent che rappresenta l'elemento padre di RibbonComponent. (Ereditato da RibbonComponent)
Proprietà pubblica Position Ottiene o imposta la posizione del menu, se questo è incluso nel menu Microsoft Office.
Proprietà pubblica Ribbon Ottiene l'oggetto Ribbon di primo livello contenente la gerarchia dei controlli. (Ereditato da RibbonComponent)
Proprietà pubblica RibbonUI Infrastruttura. Ottiene l'istanza di IRibbonUI fornita dall'applicazione Microsoft Office al codice di estensibilità della barra multifunzione. (Ereditato da RibbonComponent)
Proprietà pubblica ScreenTip Ottiene o imposta il testo del suggerimento visualizzato quando il puntatore del mouse viene passato sul menu.
Proprietà pubblica ShowImage Ottiene o imposta un valore che indica se l'immagine associata al menu è visibile o meno.
Proprietà pubblica ShowLabel Ottiene o imposta un valore che indica se l'etichetta del menu è visibile o meno.
Proprietà pubblica Site Ottiene o imposta l'oggetto ISite associato a IComponent. (Ereditato da IComponent)
Proprietà pubblica SuperTip Ottiene o imposta il testo del suggerimento su più righe visualizzato quando il puntatore del mouse viene passato sul menu.
Proprietà pubblica Tag Ottiene o imposta dati specifici dell'applicazione associati a RibbonComponent. (Ereditato da RibbonComponent)
Proprietà pubblica Title Ottiene o imposta il titolo visualizzato quando si espande un menu aggiunto al menu Microsoft Office.
Proprietà pubblica Visible Ottiene o imposta un valore che indica se RibbonControl è visibile. (Ereditato da RibbonControl)

In alto

Metodi

  Nome Descrizione
Metodo pubblico Dispose Esegue attività definite dall'applicazione, ad esempio libera, rilascia o reimposta risorse non gestite. (Ereditato da IDisposable)
Metodo pubblico PerformDynamicLayout Chiama il metodo Microsoft.Office.Core.IRibbonUI.InvalidateControl del controllo padre se l'oggetto RibbonComponent dispone di un elemento padre dinamico, ad esempio un menu dinamico, e il layout non è sospeso. (Ereditato da RibbonComponent)
Metodo pubblico PerformLayout Effettua la chiamata a Microsoft.Office.Core.IRibbonUI.InvalidateControl se RibbonComponent dispone di un elemento padre e il layout non è sospeso. (Ereditato da RibbonComponent)
Metodo pubblico ResumeLayout() Inverte l'effetto del metodo SuspendLayout. (Ereditato da RibbonComponent)
Metodo pubblico ResumeLayout(Boolean) Inverte l'effetto del metodo SuspendLayout. (Ereditato da RibbonComponent)
Metodo pubblico SuspendLayout Impedisce all'applicazione di Microsoft Office di aggiornare lo stato dei controlli nella barra multifunzione. (Ereditato da RibbonComponent)

In alto

Eventi

  Nome Descrizione
Evento pubblico Disposed Rappresenta il metodo che gestisce l'evento Disposed di un componente. (Ereditato da IComponent)
Evento pubblico ItemsLoading Si verifica quando controlli o menu annidati vengono caricati nel menu corrente in fase di esecuzione.

In alto

Note

Visual Studio crea un oggetto RibbonMenu quando si trascina un controllo Menu dalla scheda Controlli barra multifunzione di Office della Casella degli strumenti alla finestra di progettazione della barra multifunzione.

È possibile creare RibbonMenu in fase di esecuzione tramite il metodo CreateRibbonMenu dell'oggetto RibbonFactory.

Sono disponibili due modi per accedere all'oggetto RibbonFactory:

  • Mediante la proprietà Factory della classe Ribbon. Utilizzare questo approccio dal codice della classe Ribbon.

  • Mediante il metodo Globals.Factory.GetRibbonFactory. Utilizzare questo approccio dal codice all'esterno della classe Ribbon.

Attività comuni

Nella tabella riportata di seguito vengono elencati membri utili per le attività comuni, tutte eseguibili in fase di progettazione. Alcune di queste attività possono essere eseguite in fase di esecuzione soltanto prima che la barra multifunzione venga caricata nell'applicazione di Office o prima che il controllo venga aggiunto a un menu dinamico in fase di esecuzione. Per ulteriori informazioni, vedere Cenni preliminari sul modello a oggetti della barra multifunzione.

Task

Membro

Visualizzare un'immagine sul menu.

Utilizzare la proprietà Image o ImageName.

È inoltre possibile riutilizzare le immagini visualizzate nei controlli incorporati della barra multifunzione. Per eseguire questa operazione, impostare OfficeImageId sull'ID di un'immagine incorporata di Microsoft Office da visualizzare come icona del menu.

Modificare le dimensioni del menu.

Impostare la proprietà ControlSize sul valore desiderato. Per un menu di grandi dimensioni, ad esempio, impostare la proprietà su Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Modificare le dimensioni degli elementi del menu.

Impostare la proprietà ItemSize sul valore desiderato. Per visualizzare elementi di grandi dimensioni, ad esempio, impostare la proprietà su Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Consentire le modifiche al menu in fase di esecuzione, ad esempio l'aggiunta di controlli.

Impostare la proprietà Dynamic su true.

Aggiungere, rimuovere o accedere ai controlli nel menu.

Utilizzare la proprietà Items.

Aggiungere un menu al menu Microsoft Office, a un gruppo oppure a un altro controllo in grado di contenere menu.

Aggiungere RibbonMenu alla proprietà Items del menu Microsoft Office, al gruppo o al controllo.

Nota

Questa interfaccia è implementata da Visual Studio Tools per Office Runtime. Non deve essere implementata nel codice. Per ulteriori informazioni, vedere Cenni preliminari su Visual Studio Tools per Office Runtime.

Utilizzo

Nella presente documentazione viene descritta la versione di questo tipo utilizzata nei progetti di Office destinati a .NET Framework 4. Nei progetti destinati a .NET Framework 3.5, questo tipo potrebbe avere membri diversi e gli esempi di codice forniti per il tipo potrebbero non funzionare. Per la documentazione relativa a questo tipo nei progetti destinati a .NET Framework 3.5, vedere la sezione di riferimento seguente nella documentazione di Visual Studio 2008: https://go.microsoft.com/fwlink/?LinkId=160658.

Esempi

Nell'esempio seguente viene illustrato come aggiungere un sottomenu a un menu esistente e come popolarlo in fase di esecuzione.

Per un esempio più dettagliato in cui vengono aggiornati i controlli in fase di esecuzione e in cui è coinvolta l'acquisizione di dati dal database di esempio AdventureWorks tramite query LINQ, vedere Procedura dettagliata: aggiornamento dei controlli di una barra multifunzione in fase di esecuzione.

Per eseguire questo esempio di codice, effettuare innanzitutto le seguenti operazioni:

  1. Aggiungere un elemento Barra multifunzione (finestra di progettazione visiva) a un progetto Office.

  2. Aggiungere un gruppo alla scheda personalizzata.

  3. Aggiungere un menu al gruppo.

  4. Impostare la proprietà (Name) del menu su CustomerMenu.

  5. Impostare la proprietà Label del menu su Customers.

  6. Impostare la proprietà Dinamico del menu su true.

    In tal modo, è possibile aggiungere e rimuovere i controlli nel menu in fase di esecuzione dopo che la barra multifunzione è stata caricata nell'applicazione Office.

Private Sub PopulateCustomerMenu()
    ' Add two sub-menus to EmployeeMenu and populate each sub-menu
    ' First sub-menu
    Dim subMenu1 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu1.Dynamic = True
    subMenu1.Label = "A - M"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Hall, Don"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Valdez, Rachel"
    CustomerMenu.Items.Add(subMenu1)

    ' Second sub-menu
    Dim subMenu2 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu2.Dynamic = True
    subMenu2.Label = "N - Z"
    subMenu2.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu2.Items.Last(), RibbonToggleButton).Label = "Robinson, Alex"
    CustomerMenu.Items.Add(subMenu2)

End Sub
private void PopulateCustomerMenu()
{
    // Add two sub-menus to EmployeeMenu and populate each sub-menu
    // First sub-menu
    RibbonMenu subMenu1 = this.Factory.CreateRibbonMenu();
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);

    // Second sub-menu
    RibbonMenu subMenu2 = this.Factory.CreateRibbonMenu();
    subMenu2.Dynamic = true;
    subMenu2.Label = "N - Z";
    subMenu2.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
    CustomerMenu.Items.Add(subMenu2);
}

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.Office.Tools.Ribbon

Altre risorse

Cenni preliminari sulla barra multifunzione

Finestra di progettazione della barra multifunzione

Cenni preliminari sul modello a oggetti della barra multifunzione

Procedura: iniziare a personalizzare la barra multifunzione