在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中

蓝咒 提交于 2019-12-09 11:26:24

 

 


 

本文目的:

1、创建一个自定义控件。

2、将自定义控件添加到工具箱中,以便调用。

本文的最终结果如下图所示。

 


 

 

    接上文《在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目》,下图是添加了自定义控件项目后“解决方案资源管理器”中的结果。

 

 

    从上图中我们可以看出,在创建项目时,VS已经为我们创建了一个名为“ServerControl1”的自定义控件。这个控件我们现在不去管它,我们现在要自己添加一个自定义控件,这个自定义控件和文本框是一个样,只不过要添加该控件时,文本框架中会显示默认的文字(不用我们每次都设这个默认值)。添加方法如下所示:

 

    1、右击“YundaoControls”项目,在弹出的快捷键菜单中选择“添加”-->“新项”,在弹出的对话框中选择“ASP.NET服务器控件”,并输入名称。如下图所示。

 

 

    2、VS会自动在yundaoTextBox.cs中文件添加内容,如下所示。

 

    以上代码这此就不过多地解释了,下面只说明需要修改的几个地方。

    a、因为我们的目的是添加一个自定义的文本框,所以,这个类应该承继TextBox类,因此,将“public class yundaoTextBox : WebControl”改为“public class yundaoTextBox : TextBox”。

    b、由于TextBox类中包括了Text属性,所以,要将yundaoTextBox的Text属性重写。将“public string Text”改为“public override string Text”。

    修改完后的代码如下所示(我加了些注释):

 

 

   3、生成解决方案。

 

    如果解决方案生成后没有什么错误的话,就可以将自定控件添加到工具箱中了。添加方法如下所示:

    1、右击网站项目(第一个项目),在弹出的快捷菜单中选择“添加引用”,如下图所示。

 

   2、在弹出的对话框架中选择“项目”选项卡,如下图所示,VS已经自动将YundaoControls的DLL添加进出,此时,可以直接单击“确定”按钮。

 

    3、在网站项目里(第一个项目)打开一个网页文件,并打开其“设计”视图(一定要打开“设计”视图哟),再点开工具箱,此时可以看到工具箱里多了一个“YundaoControls组件”选项卡,如下图所示,这个选项卡下有两个控件。这两个组件一个是前面VS生成的ServerControl1自定义控件,另一个就是前面我们添加的“yundaoTextBox”自定义控件。

 

 

 

===================================================================

原创不容易,转载请注明出处:http://hi.csdn.net/smallfools

相关链接:

  1. 在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目
  2. 在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中
  3. 在VS2008中创建自定义控件(三)在网页中添加自定义控件
  4. 在VS2008中创建自定义控件(四)为自定义控件添加默认值
  5. 在VS2008中创建自定义控件(五)修改tagprefix
  6. 在VS2008中创建自定义控件(六)创建完全自定义控件
  7. 在VS2008中创建自定义控件(七)自定义控件的中常用到的特性
  8. 在VS2008中创建自定义控件(八)输出HTML代码
  9. 在VS2008中创建自定义控件(九)添加属性
  10. 在VS2008中创建自定义控件(十)添加枚举型属性
  11. 在VS2008中创建自定义控件(十一)添加在属性窗口中可折叠的属性(一)
  12. 在VS2008中创建自定义控件(十二)添加在属性窗口中可折叠的属性(二)
  13. 在VS2008中创建自定义控件(十三)添加内镶属性
  14. 在VS2008中创建自定义控件(十四)内镶属性与内联属性的优先级
  15. 在VS2008中创建自定义控件(十五)创建控件时出错(未能对属性XXX设置XXX)的解决方法

===================================================================

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!