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);
}
}
}