共用方式為


CommandSet.GetMenuCommands 方法

顯示捷徑功能表上的命令。

命名空間:  Microsoft.VisualStudio.Modeling.Shell
組件:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (在 Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll 中)

語法

'宣告
Protected Overrides Function GetMenuCommands As IList(Of MenuCommand)
protected override IList<MenuCommand> GetMenuCommands()

傳回值

類型:System.Collections.Generic.IList<MenuCommand>
功能表命令的清單。

備註

您可以覆寫這個方法並加入您的命令。 將您的命令,將它們定義於自訂 .vsct 檔案和呼叫它們以自訂 .cs 檔案。

注意事項注意事項

不要加入至 CommandSet.cs 檔案的變更。要產生設計工具的這個檔案每次重新產生。

範例

這個範例會將自訂命令加入至捷徑功能表。 當使用者在產生的設計工具建立方案並以滑鼠右鍵按一下圖表時,其他命令, [驗證],會出現捷徑功能表。

在 Commands.vsct 檔案,下列 include 之後的陳述式之後。

#define AssociationSortValidate 0x801

在 Commands.vsct 檔案,下行程式 GENERATED_BUTTONS 之後出現。

guidCmdSet:AssociationSortValidate, guidCmdSet:grpidContextMain, 0x0100, OI_NOID, BUTTON, DIS_DEF, "&Validate";

在 VsctComponents 資料夾中,下列 .cs 檔案可供使用。 命名空間和某些方法有專案, [MenuSample] 名稱,在它們。

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel.Design;
using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Shell;

namespace MS.MenuSample
{
    internal partial class MenuSampleCommandSet
    {

        // Define the command. This must be unique and match the value in Commands.vsct.
        private const int AssociationSortValidate = 0x801;

        // Register event handlers for menu commands when the Domain-Specific Language Designer starts.
        // Get the commands defined in the generated code.
        protected override IList<System.ComponentModel.Design.MenuCommand> GetMenuCommands()
        {
            global::System.Collections.Generic.IList<global::System.ComponentModel.Design.MenuCommand> commands = base.GetMenuCommands();
            commands.Add(new DynamicStatusMenuCommand(
                new EventHandler(OnStatusChangeAssociationSort),
                new EventHandler(OnMenuChangeAssociationSort),
                CustomCommandId(AssociationSortValidate)));
            return commands;
        }

        // Set whether a command should appear in the shortcut menu by default.
        internal void OnStatusChangeAssociationSort(object sender, EventArgs e)
        {
            MenuCommand command = sender as MenuCommand;
            command.Visible = command.Enabled = true;
        }

        // Perform an Association Sort command on the current selection.
        internal void OnMenuChangeAssociationSort(object sender, EventArgs e)
        {
            MenuCommand command = sender as MenuCommand;
        }

        // Create local command IDs that are unique.
        private CommandID CustomCommandId(int command)
        {
            return new CommandID(new Guid(Constants.MenuSampleCommandSetId), command);
        }
    }
}

.NET Framework 安全性

請參閱

參考

CommandSet 類別

Microsoft.VisualStudio.Modeling.Shell 命名空間