我通过覆盖基本控件来创建自己的控件类
[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窗口中添加这些被覆盖的控件.
为此,我只是这样做.
我已覆盖的所有控件,即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);
/////
}
Run Code Online (Sandbox Code Playgroud)......但什么都没发生."测试控件"选项卡在那里,但无法控制.当我尝试使用System.Configuration.Install.dll(在[root] /Windows/Microsoft.Net/Framework/ [dotnetVersion] /)文件夹中找到)时..控件完全加载..但不是我的自定义控件dll正在被指出.
请帮我.我希望每次IDE启动时添加这些控件(如telerik控件).我是Visual Studio的可扩展性项目类型的新手..
请帮忙....