2013-01-05 54 views
3

我试图创建一个自定义的Visual Studio扩展。它涉及一个工具栏,其中包含一个combo element,我想以编程方式填充它。将值添加到Visual Studio扩展中的组合元素

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

我有这个,我从哪里出发?

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

回答

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

相关问题