在添加用户的问题控件工具箱编程工具箱、控件、用户、问题

2023-09-05 01:40:46 作者:空白的心再也没有颜色≈

喜 我想以编程方式添加新的选项卡,我的控件到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);
 
powerpoint2010的控件工具箱在什么地方

或 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