用ASP.NET创建自定义文本框(1)
点击次数:36 次 发布日期:2008-11-26 15:02:47 作者:源代码网
|
源代码网推荐 1) 当用户在文本框输入数据时,文本框的背景颜色以预先设定的颜色显示,当用户的输入焦点离开文本框时,能恢复原来文本框的背景颜色。 源代码网推荐 源代码网推荐 2)可以在VS.net的设计期间,改变该自定义控件的各项属性。 源代码网推荐 源代码网推荐 下面我们开始一步步创建该控件。首先,创建一个空的vs.net解决方案,增加一个asp.net工程(命名为Webapplication)和一个web控件库工程(命名为ControLib)。将asp.net工程中的webform1.aspx重新命名为container.aspx;将web控件库工程中的webcustomercontrol1.cs重新命名为PimpedOutTextbox.cs。命名后如下图所示: 源代码网推荐 源代码网推荐
源代码网推荐 源代码网推荐 接着,往pimpedouttextbox类中添加代码。因为这是个WEB控件库,VS.NET已经引入相关的类库。由于我们这个应用将会用到颜色方面的功能,所以引入绘图类。 源代码网推荐 源代码网推荐 using System.Drawing; 源代码网推荐 源代码网推荐 再用如下的代码替换原来预定义的代码。 源代码网推荐 源代码网推荐 line 1: [assembly: TagPrefix ( "ControlLib" , "lib" )] 源代码网推荐 line 2: namespace ControlLib 源代码网推荐 line 3: { 源代码网推荐 line 4: [DefaultProperty( "BackColorOn" ), 源代码网推荐 line 5: ToolboxData( "<{0}:PimpedOutTextbox runat=server></{0}:PimpedOutTextbox>" )] 源代码网推荐 line 6: public class PimpedOutTextbox : System.Web.UI.WebControls.TextBox 源代码网推荐 line 7: { 源代码网推荐 源代码网推荐 在一开始,增加了assembly属性,其目的是,当在vs.net中拖拉该控件时,VS.net会自动添加Tagprefix的控件标记。在pimedouttexbox类中,增加了几个属性:defaultproperty和toolboxdata.defaultproperty中的属性backcoloron的含义是,当把该控件从VS.NET的工具箱拖拉到设计器时,该控件中被默认选定的属性。Toolboxdata属性是和[assembly:Tagprefix]属性相关,用来表明该控件是如何从HTML视图中产生的。这些属性将在下文详细讲解。 源代码网推荐 源代码网推荐 最后,在第6行,注意 public class PimpedOutTextbox : System.Web.UI.WebControls.TextBox 一句,其中表明这个控件是比原来的文本框控件增加了新的行为。总的来说,我们创建的这个控件依然是一个文本框控件,只不过是继承了原有文本框控件的属性和行为,并且有自己的新的属性而已。 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
