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 :
Ajoutez un élément Ruban (Concepteur visuel) à un projet Visual Studio Tools pour Office.
Ajoutez un groupe à un onglet personnalisé.
Ajoutez un menu au groupe.
Affectez la valeur CustomerMenu à la propriété (Name) du menu.
Affectez la valeur Customers à la propriété Label du menu.
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
Microsoft.Office.Tools.Ribbon, espace de noms