Condividi tramite


Classe RibbonMenu (System 2007)

Aggiornamento: novembre 2007

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.v9.0 (in Microsoft.Office.Tools.Common.v9.0.dll)

Sintassi

<ToolboxBitmapAttribute(GetType(RibbonMenu), "RibbonMenu.bmp")> _
Public NotInheritable Class RibbonMenu _
    Inherits RibbonControl

Dim instance As RibbonMenu
[ToolboxBitmapAttribute(typeof(RibbonMenu), "RibbonMenu.bmp")]
public sealed class RibbonMenu : RibbonControl

Note

Quando un controllo Menu viene trascinato dalla scheda Controlli barra multifunzione di Office della Casella degli strumenti alla finestra di progettazione della barra multifunzione, in Visual Studio Tools per Office viene creata un'istanza della classe RibbonMenu.

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.

Attività

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.

Creare un'istanza della classe RibbonMenu utilizzando il costruttore RibbonMenu, aggiungere quindi il nuovo oggetto RibbonMenu alla proprietà Items del menu Microsoft Office, del gruppo o del controllo.

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 Visual Studio Tools per 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 New RibbonMenu()
    subMenu1.Dynamic = True
    subMenu1.Label = "A - M"
    subMenu1.Items.Add(New RibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Hall, Don"
    subMenu1.Items.Add(New RibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Valdez, Rachel"
    CustomerMenu.Items.Add(subMenu1)

    ' Second sub-menu
    Dim subMenu2 As New RibbonMenu()
    subMenu2.Dynamic = True
    subMenu2.Label = "N - Z"
    subMenu2.Items.Add(New RibbonToggleButton())
    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 = new RibbonMenu();
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(new RibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(new RibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);

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

Gerarchia di ereditarietà

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      Microsoft.Office.Tools.Ribbon.RibbonComponent
        Microsoft.Office.Tools.Ribbon.RibbonControl
          Microsoft.Office.Tools.Ribbon.RibbonMenu

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Membri RibbonMenu

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