以编程方式向工具箱添加用户控件的问题

3

你好,我正在尝试在Visual Studio 2010中通过编程的方式添加一个新的选项卡和控件。

它可以创建选项卡,但无法将控件添加到选项卡中。

       //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();

如果我以管理员身份运行,将控件添加到控件库中是正常的,但是当我尝试添加不在GAC中的库时,它就无法正常工作。它不会抛出任何异常。

ToolBoxItem tbi = MyTab.ToolBoxItems.Add("FileBrowser",
    @"C:\MyComponents\MyTestComps.dll",
    vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接