这次,我们就继《动态创建Web控件制做计算器》的文章,把Web控件制作的就算器做成一个Web控件,首先,打开vs2005,文件/新建/项目,如下图:
[原]把一个简单计算器做成Web自定义控件
 

visual C#中选择Windows 在模版里面选择Web控件库,输入名称和存储位置,点确定。进入代码区以后,删掉默认的Text属性,开始写我们的代码,先修该一些必要的属性,以至于让我们自己做的控件像一个产品。

    将控件类名字从默认的WebCustomControl1.cs改为CalculatorControl.cs,同时,代码里面的类名字也要改的和它一样,类上面的ToolboxData属性也要做响应的修改,改成[ToolboxData("<{0}:CalculatorControl runat=server></{0}:CalculatorControl>")],注意的是上面修改的三处的类名必须相同,如果不同写的控件将不能用。然后打开AssemblyInfo.cs文件,在命名空间中引入using System.Web.UI;在下面属性里加一个[assembly: TagPrefix("WebControlLibrary1", "liu")],其中第一个参数是工程的命名空间,第二个是控件以后拖动到网页上以后<>标签里面显示的名字,比如,我们第二个参数写成liu,控件拖动到网页上以后,就显示成<liu:CalculatorControl ID="CalculatorControl1" runat="server" />。完了以后可以根据需要,修改上面的公司名称,版权等属性做完这些工作开始写代码。

注意的是Web自定义控件的编写过程是不可视的,所有的控件、控件的事件都必须写代码来完成,初步规划编写的步骤:先写一个构造函数,在构造函数里面完成算器的界面的创建。然后再定义创建按钮的函数,和写按钮要响应的事件最后重写绘制的方法RenderContents。写完后,整个程序代码如下:

[原]把一个简单计算器做成Web自定义控件using System;
[原]把一个简单计算器做成Web自定义控件
using System.Collections.Generic;
[原]把一个简单计算器做成Web自定义控件
using System.ComponentModel;
[原]把一个简单计算器做成Web自定义控件
using System.Text;
[原]把一个简单计算器做成Web自定义控件
using System.Web;
[原]把一个简单计算器做成Web自定义控件
using System.Web.UI;
[原]把一个简单计算器做成Web自定义控件
using System.Web.UI.WebControls;
[原]把一个简单计算器做成Web自定义控件
using System.Web.UI.HtmlControls;
[原]把一个简单计算器做成Web自定义控件
namespace WebControlLibrary1

和上一篇文章相比,这次我们在布局上减少了很多代码,这次没有用表格进行布局,而是创建了一个panel控件作为容器,然后把所有的控件都放在它的上面,引入了System.Web.UI.HtmlControls命名空间,用它里面的方法控制换行。Web控件就编写完了,先生成一下,再建立一个网页进行测试。

在解决方案上面单击右键,添加/新建网站,如图:
[原]把一个简单计算器做成Web自定义控件
 

选择ASP.NET网站,选好存储路径,语言选C#,确定。进入页面以后,将网页设为起始页,在工具箱上单击右键/选择项,打开对话框,如下图:
[原]把一个简单计算器做成Web自定义控件
点击浏览,选择我们刚生成的控件,点击确定,就将控件添加进工具箱了,如图:
[原]把一个简单计算器做成Web自定义控件
然后将控件拖放到网页上面,网页代码如下:

运行进行测试,结果如下图:
[原]把一个简单计算器做成Web自定义控件

这样一个Web自定义控件就制作完成了,虽然这个控件的功能很不完整,甚至连0 都没有,但是我在制作过程,还是遇到了一些困难,不如:更改控件拖放到网页上标签的名字,控件无法响应事件等等,解决了问题,也学到一些东西,不足的地方大家有兴趣可以完善。

相关文章:

  • 2021-07-01
  • 2021-12-02
  • 2021-11-27
  • 2022-12-23
  • 2021-07-10
  • 2021-12-12
  • 2022-12-23
  • 2021-10-16
猜你喜欢
  • 2022-02-22
  • 2021-11-29
  • 2021-06-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案