Udostępnij za pośrednictwem


Jak: Dodawanie elementu Menu skrótów do projektów programu SharePoint

Element menu skrótów można dodać do każdego projektu programu SharePoint.Zostanie wyświetlony element menu, gdy użytkownik kliknie prawym przyciskiem myszy węzeł projektu w Solution Explorer.

Poniższe informacje dotyczą przypadków zostały już utworzone rozszerzenie projektu.Aby uzyskać więcej informacji, zobacz Jak: tworzenie rozszerzenie projektu programu SharePoint.

Aby dodać element menu skrótów do projektów programu SharePoint

  1. W Initialize metody na ISharePointProjectExtension realizacji, uchwyt ProjectMenuItemsRequested zdarzenia projectService parametru.

  2. Obsługi zdarzenia dla ProjectMenuItemsRequested zdarzenie, Dodaj nowy IMenuItem obiektu do ActionMenuItems lub AddMenuItems kolekcji parametr argumenty zdarzeń.

  3. W Click obsługi zdarzeń dla nowego IMenuItem obiektów, należy wykonać te zadania, które chcesz wykonać, gdy użytkownik kliknie element menu skrótów.

Przykład

Poniższy przykład kodu demonstruje sposób dodawania elementu menu skrótów do węzłów projektu programu SharePoint w Solution Explorer.Gdy użytkownik kliknie prawym przyciskiem myszy węzeł projektu i klika Napisać wiadomość do okna dane wyjściowe elementu menu, Visual Studio, wyświetla komunikat w danych wyjściowych okna.W tym przykładzie używa usługi projektu programu SharePoint, aby wyświetlić komunikat.Aby uzyskać więcej informacji, zobacz Za pomocą usługi SharePoint projektu.

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
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);
            }
        }
    }
}

Kompilowanie kodu

W tym przykładzie wymaga projektu biblioteki klas z odniesieniem do następujących zestawów:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Wdrażanie rozszerzenia

Aby wdrożyć rozszerzenia, tworzenie Visual Studio extension (VSIX) pakiet Zgromadzenia i inne pliki, które chcesz dystrybuować z rozszerzeniem.Aby uzyskać więcej informacji, zobacz Wdrażanie rozszerzeń dla narzędzia programu SharePoint w programie Visual Studio.

Zobacz też

Koncepcje

Rozszerzanie projektów programu SharePoint

Jak: tworzenie rozszerzenie projektu programu SharePoint

Jak: Dodawanie właściwości do projektów programu SharePoint