【发布时间】:2012-06-22 06:46:54
【问题描述】:
我通过覆盖基本控件创建了自己的控件类 即
[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 的这种可扩展性项目类型的新手..
请帮忙....
【问题讨论】:
-
如果你还没有尝试过,这篇文章 (stackoverflow.com/questions/5977340/…) 说以管理员身份运行。
-
您可能需要查看此处来自 MSDN 的文档以自动将项目加载到工具箱中。 msdn.microsoft.com/en-us/library/bb166237
标签: c# asp.net visual-studio-2010 webforms visual-studio-addins