在添加用户的问题控件工具箱编程 [英] Problem in adding user controls to toolbox programatically
问题描述
喜 我想以编程方式添加新的选项卡,我的控件到Visual Studio 2010。
其创建标签,但它不添加控件选项卡。
//获取设计时环境
DTE DesignTimeEnvironment =(DTE)Activator.CreateInstance(Type.GetTypeFromProgID(VisualStudio.DTE.10.0),真正的);
//获取工具框对象
工具箱VSToolBox =(工具箱)DesignTimeEnvironment.Windows.Item({B1E99781-AB81-11D0-B683-00AA00A3EE26})对象。
ToolBoxTab MyTab = NULL;
字符串TABNAME =MyComponents;
//签,如果标签已存在
的foreach(ToolBoxTab VSTab在VSToolBox.ToolBoxTabs)
{
如果(VSTab.Name == TABNAME)
{
MyTab = VSTab;
打破;
}
}
//如果标签不存在,创建新的
如果(空== MyTab)
MyTab = VSToolBox.ToolBoxTabs.Add(TABNAME);
MyTab.Activate();
的ToolboxItem TBI = MyTab.ToolBoxItems.Add(FileBrowser
@MyComponents.FileBrowser,MyTestComps,版本= 1.0.0.1,文化=中性公钥= 2283de3658476795
vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
DesignTimeEnvironment.Quit();
如果我以管理员身份运行其做工精细,添加控件来控制库, 但是当我尝试添加这是不是在GAC它不工作的图书馆。它不会通过任何异常。 例如:
的ToolboxItem TBI = MyTab.ToolBoxItems.Add(FileBrowser
@C:\ MyComponents \ MyTestComps.dll
vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
这是工作的罚款与上述code。 唯一的问题是我要运行该应用程序作为管理员权限。 即使这样,也这是工作。
的ToolboxItem TBI = MyTab.ToolBoxItems.Add(FileBrowser
@C:\ MyComponents \ MyTestComps.dll
vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
或 <一href="http://blogs.msdn.com/b/quanto/archive/2009/06/12/how-do-i-deploy-a-toolbox-control-as-a-vsix.aspx" rel="nofollow">http://blogs.msdn.com/b/quanto/archive/2009/06/12/how-do-i-deploy-a-toolbox-control-as-a-vsix.aspx
Hi I'm trying to add a new tab and my controls programatically to visual studio 2010.
Its creating tab but its not adding the controls to tab.
//Getting design time environment
DTE DesignTimeEnvironment = (DTE)Activator.CreateInstance(Type.GetTypeFromProgID("VisualStudio.DTE.10.0"), true);
//Getting tool box object
ToolBox VSToolBox = (ToolBox)DesignTimeEnvironment.Windows.Item("{B1E99781-AB81-11D0-B683-00AA00A3EE26}").Object;
ToolBoxTab MyTab = null;
string TabName = "MyComponents";
//checkin if Tab already exists
foreach (ToolBoxTab VSTab in VSToolBox.ToolBoxTabs)
{
if (VSTab.Name == TabName)
{
MyTab = VSTab;
break;
}
}
//If tab doesn't exist, creating new one
if (null == MyTab)
MyTab = VSToolBox.ToolBoxTabs.Add(TabName);
MyTab.Activate();
ToolBoxItem tbi = MyTab.ToolBoxItems.Add("FileBrowser",
@"MyComponents.FileBrowser, MyTestComps, Version=1.0.0.1, Culture=neutral, PublicKeyToken=2283de3658476795",
vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
DesignTimeEnvironment.Quit();
If i run as administrator its working fine, adding Controls to control library, but when I try to add the library which is not in GAC its not working. It doesn't through any exception. Ex:
ToolBoxItem tbi = MyTab.ToolBoxItems.Add("FileBrowser",
@"C:\MyComponents\MyTestComps.dll",
vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
It is working fine with the above code. The only problem was I have to run the application as administrator rights. Even this way also it is working.
ToolBoxItem tbi = MyTab.ToolBoxItems.Add("FileBrowser",
@"C:\MyComponents\MyTestComps.dll",
vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
or http://blogs.msdn.com/b/quanto/archive/2009/06/12/how-do-i-deploy-a-toolbox-control-as-a-vsix.aspx
这篇关于在添加用户的问题控件工具箱编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!