CommandSet.GetMenuCommands 方法
顯示快顯功能表上的指令。
命名空間: Microsoft.VisualStudio.Modeling.Shell
組件: Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (在 Microsoft.VisualStudio.Modeling.Sdk.Shell.11.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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。