DropDownList控件与ListBox控件的使用类似,但DropDownList控件只允许用户每次从列表中选择一项,而且只在框中显示选定项。图1为DropDownList控件。
![]()
图1 DropDownList控件
(1)DropDownList控件的常用属性
DropDownList控件的常用属性及说明如表1所示。
表1 DropDownList控件常用的属性
|
属性名称 |
属性值 |
|
Items |
获取列表控件项的集合 |
|
SelectedIndex |
获取或设置列表中选定项的最低序号索引 |
|
SelectedItem |
获取列表中索引最小的选中的项 |
|
SelectedValue |
获取列表控件中选定项的值,或选择列表控件中包含指定值的项 |
|
AutoPostBack |
获取或设置一个值,该值指示当用户更改列表中的选定内容时,是否自动产生向服务器的回发 |
|
DataSource |
获取或设置对象,数据绑定控件从该对象中检索其数据项列表 |
|
ID |
获取或设置分配给服务器控件的编程标识符 |
DropDownList控件的属性大部分与ListBox控件相同,这里就不再赘述,请读者参见ListBox控件中的属性。
(2)DropDownList控件常用方法
DropDownList控件常用的方法是DataBind。当DropDownList控件使用DataSource属性附加数据源时,使用DataBind方法将数据源绑定到DropDownList控件上。
(3)DropDownList控件常用事件
DropDownList控件常用的事件是SelectedIndexChanged。当DropDownList控件中选定项发生改变时,将会触发SelectedIndexChanged事件。
下面示例实现的主要功能是,使用DropDownList控件的DataBind方法,将ArrayList数组绑定到DropDownList控件中。执行程序,示例运行结果如图2所示。
图2 ListBox控件(上移前)
程序实现的主要步骤:
(1)新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加一个DropDownList控件。
(2)将页面切换到后台代码区,在使用ArrayList类之前,需要引用ArrayList类的命名空间,其代码如下:
using System.Collections;
(3)在页面的Page_Load事件中,编写如下代码,将ArrayList数组绑定到DropDownList控件中。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ArrayList arrList = new ArrayList();
arrList.Add("星期日");
arrList.Add("星期一");
arrList.Add("星期二");
arrList.Add("星期三");
arrList.Add("星期四");
arrList.Add("星期五");
arrList.Add("星期六");
DropDownList1.DataSource = arrList;
DropDownList1.DataBind();
}
}
下面示例实现的主要功能是,当DropDownList控件列表项改变时,其背景色也做相应的改变。执行程序,示例运行结果如图3所示。

图3 动态改变DropDownList控件的背景色
程序实现的主要步骤:
新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加一个DropDownList控件。其属性设置如表2所示。
表2 DropDownList控件属性设置
|
属性名称 |
属性值 |
|
ID |
DropDownList1 |
|
AutoPostBack |
True |
|
Font/Bold |
True |
|
ForeColor |
Black |
为了实现当选择的列表项发生改时,DropDownList控件的背景色也做相应的改变,需要在DropDownList控件的SelectedIndexChanged事件下,添加如下代码,在switch语句中改变DropDownList控件的背景色。
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string color = this.DropDownList1.SelectedItem.Value;
switch (color)
{
case "Red":
this.DropDownList1.BackColor = System.Drawing.Color.Red;
break;
case "Green":
this.DropDownList1.BackColor = System.Drawing.Color.Green;
break;
case "Blue":
this.DropDownList1.BackColor = System.Drawing.Color.Blue;
break;
case " LightGray ":
this.DropDownList1.BackColor = System.Drawing.Color. LightGray;
break;
default :
this.DropDownList1.BackColor = System.Drawing.Color.White;
break;
}
}