根据书上例子自己写了一下,用VS2005写,特别方便,代码如下
usingSystem;
usingSystem.ComponentModel;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Drawing;
namespaceClingingBoy
{
[DefaultProperty("text"),
ToolboxData("<{0}:Cingmenurunat=server>")]
///
///cingmenu的摘要说明
///
publicclassCingmenu:WebControl
{
#region定义变量
privatestringtext="";
privatestringhref="";
privatestringwidth="20%";
privatestringheight="";
privatestringfontfamily="宋体";
privatestringfontsize="12px";
privatestringtarget="_self";
privatebooldisplayPipe=true;
#endregion
#region构造函数
publicCingmenu():base(HtmlTextWriterTag.Div)
{
}
#endregion
#region定义属性
[Description("该属性用于表示控件显示的文字内容"),
Bindable(true),
Category("Appearance"),
DefaultValue("")]
publicstringText
{
get
{
returntext;
}
set
{
text=value;
}
}
[Description("该属性用于表示控件的链接地址"),
Bindable(true),
Category("Appearance"),
DefaultValue("")]
publicstringHref
{
get
{
returnhref;
}
set
{
href=value;
}
}
[Description("该属性用于表示控件显示的文字大小"),
Bindable(true),
Category("Appearance"),
DefaultValue("12px")]
publicstringFontSize
{
get
{
returnfontsize;
}
set
{
fontsize=value;
}
}
[Description("该属性用于表示控件显示的文字字体类型"),
Bindable(true),
Category("Appearance"),
DefaultValue("宋体")]
publicstringFontFamily
{
get
{
returnfontfamily;
}
set
{
fontfamily=value;
}
}
[Description("该属性用于表示控件的链接的目标框架"),
Bindable(true),
Category("Appearance"),
DefaultValue("宋体")]
publicstringTarget
{
get
{
returntarget;
}
set
{
target=value;
}
}
[Description("该属性用于表示控件是否显示分隔符|"),
Bindable(true),
Category("Appearance"),
DefaultValue("true")]
publicboolDisplayPipe
{
get
{
returndisplayPipe;
}
set
{
displayPipe=value;
}
}
#endregion
protectedoverridevoidAddAttributesToRender(HtmlTextWriteroutput)
{
//定义控件div的样式style="WHITE-SPACE:nowrap;BORDER-TOP:#9991pxsolid;BACKGROUND:#f1f1f1;PADDING-BOTTOM:2px;PADDING-TOP:1px;BORDER-BOTTOM:#9991pxsolid"
output.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor,"#f1f1f1");
output.AddStyleAttribute("white-space","nowrap");
output.AddStyleAttribute("BORDER-TOP","#9991pxsolid");
output.AddStyleAttribute("BORDER-BOTTOM","#9991pxsolid");
output.AddStyleAttribute("PADDING-BOTTOM","2px");
output.AddStyleAttribute("PADDING-TOP","2px");
output.AddStyleAttribute("WIDTH",width);
output.AddStyleAttribute("HEIGHT",height);
base.AddAttributesToRender(output);
}
///
///呈现控件的方法RenderContents
///
protectedoverridevoidRenderContents(HtmlTextWriteroutput)
{
//定义样式
output.AddStyleAttribute(HtmlTextWriterStyle.Width,"10px");
output.AddStyleAttribute(HtmlTextWriterStyle.FontSize,fontsize);
output.AddStyleAttribute(HtmlTextWriterStyle.FontFamily,fontfamily);
output.RenderBeginTag(HtmlTextWriterTag.Span);
//定义样式
////onmouseover="this.style.cssText=’color:black;text-decoration:none;BORDER:#9991pxsolid;DISPLAY:block;PADDING-RIGHT:6px;PADDING-LEFT:6px;PADDING-BOTTOM:2px;PADDING-TOP:2px;BACKGROUND:#ccc;’"
usingSystem.ComponentModel;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Drawing;
namespaceClingingBoy
{
[DefaultProperty("text"),
ToolboxData("<{0}:Cingmenurunat=server>")]
///
///cingmenu的摘要说明
///
publicclassCingmenu:WebControl
{
#region定义变量
privatestringtext="";
privatestringhref="";
privatestringwidth="20%";
privatestringheight="";
privatestringfontfamily="宋体";
privatestringfontsize="12px";
privatestringtarget="_self";
privatebooldisplayPipe=true;
#endregion
#region构造函数
publicCingmenu():base(HtmlTextWriterTag.Div)
{
}
#endregion
#region定义属性
[Description("该属性用于表示控件显示的文字内容"),
Bindable(true),
Category("Appearance"),
DefaultValue("")]
publicstringText
{
get
{
returntext;
}
set
{
text=value;
}
}
[Description("该属性用于表示控件的链接地址"),
Bindable(true),
Category("Appearance"),
DefaultValue("")]
publicstringHref
{
get
{
returnhref;
}
set
{
href=value;
}
}
[Description("该属性用于表示控件显示的文字大小"),
Bindable(true),
Category("Appearance"),
DefaultValue("12px")]
publicstringFontSize
{
get
{
returnfontsize;
}
set
{
fontsize=value;
}
}
[Description("该属性用于表示控件显示的文字字体类型"),
Bindable(true),
Category("Appearance"),
DefaultValue("宋体")]
publicstringFontFamily
{
get
{
returnfontfamily;
}
set
{
fontfamily=value;
}
}
[Description("该属性用于表示控件的链接的目标框架"),
Bindable(true),
Category("Appearance"),
DefaultValue("宋体")]
publicstringTarget
{
get
{
returntarget;
}
set
{
target=value;
}
}
[Description("该属性用于表示控件是否显示分隔符|"),
Bindable(true),
Category("Appearance"),
DefaultValue("true")]
publicboolDisplayPipe
{
get
{
returndisplayPipe;
}
set
{
displayPipe=value;
}
}
#endregion
protectedoverridevoidAddAttributesToRender(HtmlTextWriteroutput)
{
//定义控件div的样式style="WHITE-SPACE:nowrap;BORDER-TOP:#9991pxsolid;BACKGROUND:#f1f1f1;PADDING-BOTTOM:2px;PADDING-TOP:1px;BORDER-BOTTOM:#9991pxsolid"
output.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor,"#f1f1f1");
output.AddStyleAttribute("white-space","nowrap");
output.AddStyleAttribute("BORDER-TOP","#9991pxsolid");
output.AddStyleAttribute("BORDER-BOTTOM","#9991pxsolid");
output.AddStyleAttribute("PADDING-BOTTOM","2px");
output.AddStyleAttribute("PADDING-TOP","2px");
output.AddStyleAttribute("WIDTH",width);
output.AddStyleAttribute("HEIGHT",height);
base.AddAttributesToRender(output);
}
///
///呈现控件的方法RenderContents
///
protectedoverridevoidRenderContents(HtmlTextWriteroutput)
{
//定义样式
output.AddStyleAttribute(HtmlTextWriterStyle.Width,"10px");
output.AddStyleAttribute(HtmlTextWriterStyle.FontSize,fontsize);
output.AddStyleAttribute(HtmlTextWriterStyle.FontFamily,fontfamily);
output.RenderBeginTag(HtmlTextWriterTag.Span);
//定义样式
////onmouseover="this.style.cssText=’color:black;text-decoration:none;BORDER:#9991pxsolid;DISPLAY:block;PADDING-RIGHT:6px;PADDING-LEFT:6px;PADDING-BOTTOM:2px;PADDING-TOP:2px;BACKGROUND:#ccc;’"
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




