Comment : ajouter un élément de menu contextuel à des projets SharePointHow to: Add a shortcut menu item to SharePoint projects

Vous pouvez ajouter un élément de menu contextuel à un projet SharePoint.You can add a shortcut menu item to any SharePoint project. L’élément de menu s’affiche quand un utilisateur clique sur un nœud de projet dans l’Explorateur de solutions.The menu item appears when a user right-clicks a project node in Solution Explorer.

Les étapes suivantes supposent que vous avez déjà créé une extension de projet.The following steps assume that you have already created a project extension. Pour plus d’informations, consultez Comment : créer une extension de projet SharePoint.For more information, see How to: Create a SharePoint project extension.

Pour ajouter un élément de menu contextuel à des projets SharePointTo add a shortcut menu item to SharePoint projects

  1. Dans le Initialize méthode de votre ISharePointProjectExtension implémentation, gérez le ProjectMenuItemsRequested événements de la projectService paramètre.In the Initialize method of your ISharePointProjectExtension implementation, handle the ProjectMenuItemsRequested event of the projectService parameter.

  2. Dans votre gestionnaire d’événements pour le ProjectMenuItemsRequested événement, ajoutez une nouvelle IMenuItem de l’objet à la ActionMenuItems ou AddMenuItems collection l’arguments du paramètre d’événement.In your event handler for the ProjectMenuItemsRequested event, add a new IMenuItem object to the ActionMenuItems or AddMenuItems collection of the event arguments parameter.

  3. Dans le Click Gestionnaire d’événements pour le nouveau IMenuItem de l’objet, effectuez les tâches à exécuter lorsqu’un utilisateur clique sur votre élément de menu contextuel.In the Click event handler for the new IMenuItem object, perform the tasks you want to execute when a user clicks your shortcut menu item.

ExempleExample

L’exemple de code suivant montre comment ajouter un élément de menu contextuel aux nœuds de projet SharePoint de l’Explorateur de solutions.The following code example demonstrates how to add a shortcut menu item to SharePoint project nodes in Solution Explorer. Lorsque l’utilisateur clique sur un nœud de projet et clique sur le écrire le Message dans la fenêtre sortie élément de menu, Visual Studio affiche un message dans le sortie fenêtre.When the user right-clicks a project node and clicks the Write Message to Output Window menu item, Visual Studio displays a message in the Output window. Cet exemple utilise le service de projet SharePoint pour afficher le message.This example uses the SharePoint project service to display the message. Pour plus d’informations, consultez utiliser le service de projet SharePoint.For more information, see Use the SharePoint project service.

using System;
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.SharePoint;

namespace Contoso.Examples
{
    [Export(typeof(ISharePointProjectExtension))]
    internal class ExampleProjectExtensionWithMenu : ISharePointProjectExtension
    {
        public void Initialize(ISharePointProjectService projectService)
        {
            projectService.ProjectMenuItemsRequested += projectService_ProjectMenuItemsRequested;
        }

        void projectService_ProjectMenuItemsRequested(object sender, 
            SharePointProjectMenuItemsRequestedEventArgs e)
        {
            IMenuItem menuItem = e.ActionMenuItems.Add("Write Message to Output Window");
            menuItem.Click += MenuItemExtension_Click;
        }

        void MenuItemExtension_Click(object sender, MenuItemEventArgs e)
        {
            ISharePointProject project = e.Owner as ISharePointProject;
            if (project != null)
            {
                project.ProjectService.Logger.WriteLine(
                    String.Format("This message was written from a shortcut menu for the {0} project.", project.Name),
                    LogCategory.Status);
            }
        }
    }
}
Imports System
Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint

Namespace Contoso.Examples

    <Export(GetType(ISharePointProjectExtension))> _
    Friend Class ExampleProjectExtensionWithMenu
        Implements ISharePointProjectExtension

        Private Sub Initialize(ByVal projectService As ISharePointProjectService) _
            Implements ISharePointProjectExtension.Initialize
            AddHandler projectService.ProjectMenuItemsRequested, AddressOf ProjectMenuItemsRequested
        End Sub

        Private Sub ProjectMenuItemsRequested(ByVal Sender As Object,
            ByVal e As SharePointProjectMenuItemsRequestedEventArgs)
            Dim menuItem As IMenuItem = e.ActionMenuItems.Add("Write Message to Output Window")
            AddHandler menuItem.Click, AddressOf MenuItem_Click
        End Sub

        Private Sub MenuItem_Click(ByVal Sender As Object, ByVal e As MenuItemEventArgs)
            Dim project As ISharePointProject = TryCast(e.Owner, ISharePointProject)
            If project IsNot Nothing Then
                project.ProjectService.Logger.WriteLine(
                    String.Format("This message was written from a shortcut menu for the {0} project.", project.Name),
                    LogCategory.Status)
            End If
        End Sub
    End Class
End Namespace

Compiler le codeCompile the code

Cet exemple requiert un projet de bibliothèque de classes avec des références aux assemblys suivants :This example requires a class library project with references to the following assemblies:

  • Microsoft.VisualStudio.SharePointMicrosoft.VisualStudio.SharePoint
  • System.ComponentModel.CompositionSystem.ComponentModel.Composition

Déployer l’extensionDeploy the extension

Pour déployer l’extension, créez un Visual StudioVisual Studio package d’extension (VSIX) pour l’assembly et tous les autres fichiers que vous souhaitez distribuer avec l’extension.To deploy the extension, create a Visual StudioVisual Studio extension (VSIX) package for the assembly and any other files that you want to distribute with the extension. Pour plus d’informations, consultez déployer des extensions pour les outils SharePoint dans Visual Studio.For more information, see Deploy extensions for the SharePoint tools in Visual Studio.

Voir aussiSee also

Étendre des projets SharePoint Extend SharePoint projects
Comment : créer une extension de projet SharePoint How to: Create a SharePoint project extension
Comment : ajouter une propriété à des projets SharePointHow to: Add a property to SharePoint projects