3.给控件添加下拉列表属性 using System; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; namespace CustomControls ... { /**//// <summary> /// Summary description for LabelTextBox /// </summary> public class LabelTextBox : Control ...{ private string _labelText="LabelText"; private string _textBoxText = ""; [Browsable(true), Description("获取和设置Label文本"), DefaultValue("LabelText"), Category("Appearance") ] public virtual string Title ...{ get ...{ return _labelText; } set ...{ _labelText = value; } } [Browsable(true), Description("获取和设置TextBox文本"), DefaultValue(""), Category("Appearance") ] public virtual string Text ...{ get ...{ return _textBoxText; } set ...{ _textBoxText = value; } } [Browsable(true), Description("获取和设置TextBox的显示方式"), DefaultValue(""), Category("Appearance") ] public virtual TextBoxMode TextMode ...{ get ...{ object _textMode = ViewState["TextMode"]; if (_textMode == null) return TextBoxMode.SingleLine; else return (TextBoxMode)_textMode; } set ...{ ViewState["TextMode"] = value; } } protected override void Render(HtmlTextWriter writer) ...{ Page.VerifyRenderingInServerForm(this); if (TextMode == TextBoxMode.SingleLine) ...{ writer.Write("<table style='width:180px;height:25px;border-width:0;'>"); writer.Write("<tr>"); writer.Write("<td><strong>" + _labelText + "</strong></td>"); writer.Write("<td><input name='TextBox' id='TextBox' type='text' /></td>"); writer.Write("</tr>"); writer.Write("</table>"); } else if (TextMode == TextBoxMode.MultiLine) ...{ writer.Write("<table style='width:180px;height:25px;border-width:0;'>"); writer.Write("<tr valign='top'>"); writer.Write("<td><strong>" + _labelText + "</strong></td>"); writer.Write("<td><textarea name='TextBox' id='TextBox' /></td>"); writer.Write("</tr>"); writer.Write("</table>"); } else if (TextMode == TextBoxMode.Password) ...{ writer.Write("<table style='width:180px;height:25px;border-width:0;'>"); writer.Write("<tr>"); writer.Write("<td><strong>" + _labelText + "</strong></td>"); writer.Write("<td><input name='TextBox' id='TextBox' type='password' /></td>"); writer.Write("</tr>"); writer.Write("</table>"); } base.Render(writer); } }}