3

我正在尝试创建一个自定义的 Visual Studio 扩展。它涉及一个带有组合元素的工具栏,我想以编程方式填充它。

我在 vsct 中制作了工具栏和组合框,但我不确定如何在代码中获取对它的引用并向其中添加项目。

我有这个,我从这里去哪里?

CommandID commandId = new CommandID(GuidList.guidExtensionCmdSet, (int) PkgCmdIDList.cmdMyDropdown);
4

1 回答 1

3

假设 cmdMyDropdown 是您的下拉菜单的 commandId,那么您需要创建一个 OleMenuCommand 并将其添加到 OleMenyCommandService。

OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
CommandID commandId = new CommandID(GuidList.guidExtensionCmdSet, (int) PkgCmdIDList.cmdMyDropdown);
OleMenuCommand menuMyDynamicComboCommand = new OleMenuCommand(new EventHandler(OnMenuWorkorderDropdown), commandId);
mcs.AddCommand(menuMyDynamicComboCommand);

在您的事件中,您必须使用

Marshal.GetNativeVariantForObject(String[] yourValues, OleMenuCmdEventArgs.OutValue);

OutValue 是通过的下拉引用。

在此处阅读更多信息:http: //dotneteers.net/blogs/divedeeper/archive/2008/07/14/LearnVSXNowPart25.aspx

于 2013-01-08T21:25:48.650 回答