我通过覆盖基本控件创建了自己的控件类,即
[ToolboxData("<{0}:TextBox runat=server></{0}:TextBox>")]
public class MyTextBox:System.Web.UI.WebControls.TextBox
{
public string myProperty {get;set;}
}
现在为了方便使用,我所做的就是在 Visual Studio 的 ToolBox 窗口中添加这些覆盖的控件。
为此,我只是这样做。
- 通过右键单击和“添加选项卡”在工具箱窗口中添加一个新选项卡
- 然后我执行“选择项目”(右键单击)并指向我的控件类的 dll。
我覆盖的所有控件,即 TextBox、Button、Label 都以新名称和图标出现在那里。我所要做的就是拖动它们并使用它们。
现在,有没有办法让我的控件自动加载?我的意思是我不想做上面提到的两个步骤。
看到这就是我所做的。
添加了一个加载项并在其 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); ///// }
……但什么也没发生。“测试控制”选项卡在那里,但没有控制。当我尝试对 System.Configuration.Install.dll (在 [root]/Windows/Microsoft.Net/Framework/[dotnetVersion]/) 文件夹中找到)执行相同操作时..控件完美加载..但不是当我的自定义控件dll 被指向。
请帮我。我想在每次 IDE 启动时添加这些控件(如 Telerik 控件)。我是 Visual Studio 的这种可扩展性项目类型的新手。
请帮忙....