Partager via


RibbonMenu, classe (System 2007)

Mise à jour : novembre 2007

Représente un menu sur un onglet du ruban ou sur le menu Microsoft Office.

Espace de noms :  Microsoft.Office.Tools.Ribbon
Assembly :  Microsoft.Office.Tools.Common.v9.0 (dans Microsoft.Office.Tools.Common.v9.0.dll)

Syntaxe

<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

Notes

Visual Studio Tools pour Office crée une instance de la classe RibbonMenu lorsque vous faites glisser un contrôle Menu de l'onglet Contrôles de ruban Office de la Boîte à outils vers le Concepteur de ruban.

Tâches courantes

Le tableau suivant répertorie les membres qui sont utiles pour les tâches courantes. Toutes ces tâches peuvent être effectuées au moment du design. Certaines de ces tâches peuvent être exécutées uniquement au moment de l'exécution avant de charger le ruban dans l'application Office ou avant d'ajouter le contrôle à un menu dynamique au moment de l'exécution. Pour plus d'informations, consultez Vue d'ensemble du modèle objet de ruban.

Tâche

Membre

Afficher une image dans le menu.

Utilisez la propriété Image ou ImageName.

Vous pouvez également réutiliser les images qui apparaissent dans les contrôles de ruban intégrés. Pour cela, affectez à OfficeImageId l'ID d'une image Microsoft Office intégrée que vous souhaitez afficher comme icône pour le menu.

Modifier la taille du menu.

Affectez à la propriété ControlSize la valeur de votre choix. Par exemple, pour un grand menu, affectez-lui la valeur Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Modifier la taille des éléments dans le menu.

Affectez à la propriété ItemSize la valeur de votre choix. Par exemple, pour afficher des éléments plus grands, affectez-lui la valeur Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Autoriser les modifications du menu au moment de l'exécution (par exemple, pour pouvoir ajouter des contrôles au menu au moment de l'exécution).

Affectez à la propriété Dynamic la valeur true.

Accéder aux contrôles dans le menu, ajouter des contrôles au menu ou supprimer des contrôles dans le menu.

Utilisez la propriété Items.

Ajouter un menu au menu Microsoft Office, à un groupe ou à un autre contrôle Microsoft Office qui peut contenir des menus.

Créez une instance de la classe RibbonMenu en utilisant le constructeur RibbonMenu, puis ajoutez le nouveau RibbonMenu à la propriété Items du menu, groupe ou contrôle Microsoft Office.

Exemples

L'exemple suivant montre comment ajouter et renseigner un sous-menu dans un menu existant au moment de l'exécution.

Pour obtenir un meilleur exemple permettant de mettre à jour des contrôles au moment de l'exécution et d'exploiter les données de l'exemple de base de données AdventureWorks à l'aide de requêtes LINQ (Language-Integrated Queries), consultez Procédure pas à pas : mise à niveau des contrôles sur un ruban au moment de l'exécution.

Pour exécuter cet exemple de code, vous devez exécuter tout d'abord les étapes suivantes :

  1. Ajoutez un élément Ruban (Concepteur visuel) à un projet Visual Studio Tools pour Office.

  2. Ajoutez un groupe à un onglet personnalisé.

  3. Ajoutez un menu au groupe.

  4. Affectez la valeur CustomerMenu à la propriété (Name) du menu.

  5. Affectez la valeur Customers à la propriété Label du menu.

  6. Affectez à la propriété Dynamic du menu la valeur true.

    Vous pouvez maintenant ajouter des contrôles sur le menu et en supprimer au moment de l'exécution, après le chargement du ruban dans l'application 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);
}

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres RibbonMenu

Microsoft.Office.Tools.Ribbon, espace de noms

Autres ressources

Vue d'ensemble du ruban

Concepteur de ruban

Vue d'ensemble du modèle objet de ruban

Comment : démarrer avec la personnalisation du ruban