小编xtr*_*rem的帖子

通过加载项在Visual Studio中添加ToolBoxTab和ToolBoxItems

我通过覆盖基本控件来创建自己的控件类

[ToolboxData("<{0}:TextBox runat=server></{0}:TextBox>")]
public class MyTextBox:System.Web.UI.WebControls.TextBox
{
     public string myProperty {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

现在为了便于使用,我所做的是在Visual Studio的ToolBox窗口中添加这些被覆盖的控件.

为此,我只是这样做.

  1. 右键单击"添加选项卡",在ToolBox窗口中添加一个新选项卡
  2. 然后我做"选择项目"(右键单击)并指向我的控件类的DLL.

我已覆盖的所有控件,即TextBox,Button,Label,都会显示新的名称和图标.我所要做的就是拖动它们并使用它们.

现在,有没有办法,我的控件会自动加载?我的意思是我不想做上面提到的两个步骤.

看到这就是我做的.

  1. 添加了一个加载项,并在其Exec中执行了此操作

    public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
        {
            handled = false;
            if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
            {
                if(commandName == "testAddin.Connect.testAddin")
                {
                    handled = true;
                    ToolBox tlBox = _applicationObject.ToolWindows.ToolBox;
                    ToolBoxTab tlBoxTab = null;
                    tlBoxTab = tlBox.ToolBoxTabs.Add("Test Controls");
    
    
                    tlBoxTab.Activate();
                    tlBoxTab.ToolBoxItems.Add("TestControls", @"C:\testLib.dll", vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent);
    
           /////
             }
    
    Run Code Online (Sandbox Code Playgroud)

......但什么都没发生."测试控件"选项卡在那里,但无法控制.当我尝试使用System.Configuration.Install.dll(在[root] /Windows/Microsoft.Net/Framework/ [dotnetVersion] /)文件夹中找到)时..控件完全加载..但不是我的自定义控件dll正在被指出.

请帮我.我希望每次IDE启动时添加这些控件(如telerik控件).我是Visual Studio的可扩展性项目类型的新手..

请帮忙....

c# asp.net webforms visual-studio-addins visual-studio-2010

6
推荐指数
1
解决办法
632
查看次数