在Visual Studio Extension中向值组合元素添加值

时间:2013-01-05 00:02:01

标签: c# visual-studio visual-studio-extensions

我正在尝试创建自定义视觉工作室扩展程序。它涉及一个带有combo element的工具栏,我想以编程方式填充它。

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

我有这个,我从哪里开始?

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

1 个答案:

答案 0 :(得分: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