[DefaultProperty("Text")]//(打开属性时)默认选择的属性 [ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]//自定义服务器控件在页面上面显示的标记 public class ServerControl1 : WebControl { [Bindable(true)]//是否通常绑定 [Category("外观")] [DefaultValue("")] [Description("显示的文本")]//属性的描述 [Localizable(true)] public string Text { get { String s = (String)ViewState["Text"]; return ((s == null) ? "[" + this.ID + "]" : s); } set { ViewState["Text"] = value; } } private string imageurl; [Description("要显示图片的路径")]//属性的描述 [Category("样式")] [EditorAttribute(typeof(ImageUrlEditor), typeof(UITypeEditor))]//让属性里面有选择图片的按钮”...“ public string Imageurl { get { return imageurl; } set { imageurl = value; } } [Bindable(true)]//是否通常绑定 [Category("字体")] [DefaultValue("")] [Description("设置文本框的字体的大小单位为px")]//属性的描述 [Localizable(true)] public string Fontsize { get { String font = (String)ViewState["Fontsize"]; return ((font == null) ? "14px" : font + "px"); } set { ViewState["Fontsize"] = value; } } protected override void Render(HtmlTextWriter Write) { string path = ""; if (imageurl != null) { path = this.ResolveClientUrl(Imageurl);//取图片路径对应的在客户端的路径 } WebColorConverter wcolor = new WebColorConverter();//进行颜色转换为RGB格式//在RGB和color间切换的对象 Write.Write("<input type=\"text\" id=\"" + this.ID + "\" name=\"" + this.ID + "\" style=\"background-color:" + wcolor.ConvertToString(base.BackColor) + " ;background-image:url(" + path + "); font-size:" + Fontsize + "\" value=\""); Write.Write(Text); Write.Write("\"/>"); } }