■21.5选择控件 ■选择控件的作用是让用户从可选项中选取一个或多个选项 包括 Radiobutton和 RadioButton list控件、 CheckBox和 checklist控件、 Listbox和 DropDownlist控件 1. Radio button和 Radiobuttonlist控件 ■单选按钮Web服务器控件分为两类: RadioButton控件和 RadioButtonlist控件。可以使用这些控件定义任意数目的 带标签的单选按钮,并将它们水平或垂直排列。 (1) RadioButton控件 语法格式如下
◼ 2.1.5 选择控件 ◼ 选择控件的作用是让用户从可选项中选取一个或多个选项 ,包括RadioButton和RadioButtonList控件、CheckBox和 CheckList控件、ListBox和DropDownList控件。 ◼ 1.RadioButton和RadioButtonList控件 ◼ 单选按钮Web服务器控件分为两类:RadioButton控件和 RadioButtonList控件。可以使用这些控件定义任意数目的 带标签的单选按钮,并将它们水平或垂直排列。 ◼ (1)RadioButton控件 ◼ 语法格式如下: ◼
表2-12 Radio Button控件的常用属性 GroupName设置 RadioButt控件所属的组名,在同一组内只能有一个控件处于选中状态 hekd设置或获取 RadioButton是否处于被选中状态,tmue表示被选中,fse(默认)表示未被选中 Text 设置或获取显示在控件旁边的说明文字 TextAlign 更改控件旁边的说明文字的方向 AutoPostBack 设置或获取单击时 RadioButton状态是否自动发回服务器 在程序中可以用“控件名称. SelectedItem. Value”获取被选 中按钮的选项值,用“控件名称. Selecteditem.Text”获取被 选中按钮旁显示的文本
◼ 在程序中可以用“控件名称.SelectedItem.Value”获取被选 中按钮的选项值,用“控件名称.SelectedItem.Text”获取被 选中按钮旁显示的文本
使用单个 RadioButton控件时,一般方法是:向页面添加 组这样的控件,然后对它们进行分组。可以创建多个不同 的按钮组。向Web窗体页添加 RadioButton控件的方法如下 ■①从工具箱的“标准”选项卡中,将 RadioButton控件拖到 页面上 ■②在“属性”窗口中,通过设置Text属性来指定标题 ③还可以通过设置 TextAlign属性来更改标题的方向。 ■④对要添加到页面上的每个单选按钮重复步骤①~③。 ⑤对添加到页面上的各个 Radiobutton控件进行分组。 ■⑥设置选定的 Radiobutton控件,将控件的 Checked属性设置 为 tue
◼ 使用单个RadioButton控件时,一般方法是:向页面添加一 组这样的控件,然后对它们进行分组。可以创建多个不同 的按钮组。向Web窗体页添加RadioButton控件的方法如下。 ◼ ① 从工具箱的“标准”选项卡中,将RadioButton控件拖到 页面上。 ◼ ② 在“属性”窗口中,通过设置Text属性来指定标题。 ◼ ③ 还可以通过设置TextAlign属性来更改标题的方向。 ◼ ④ 对要添加到页面上的每个单选按钮重复步骤①~③。 ◼ ⑤ 对添加到页面上的各个RadioButton控件进行分组。 ◼ ⑥ 设置选定的RadioButton控件,将控件的Checked属性设置 为true
要确定一组中哪个控件被选中,必须分别测试每个控件,代码示例如 a public void Button1_Click(object sender, System. EventArgs e if ( radiobutton Checked //测试第1个单选按钮是否选中 abell. Text =You selected t Radio Button1. Text else if(Radio Button2 Checked) //测试第2个单选按钮是否选中 Label1Text ="You selected " RadioButton2 Text else if (radiobutton Checked //测试第3个单选按钮是否选中 Labell Text =You selected " Radio 3. Text
◼ 要确定一组中哪个控件被选中,必须分别测试每个控件,代码示例如 下: ◼ public void Button1_Click (object sender, System.EventArgs e) ◼ { ◼ if (RadioButton1.Checked) //测试第1个单选按钮是否选中 ◼ { ◼ Label1.Text = "You selected " + RadioButton1.Text; ◼ } ◼ else if (RadioButton2.Checked) //测试第2个单选按钮是否选中 ◼ { ◼ Label1.Text = "You selected " + RadioButton2.Text; ◼ } ◼ else if (RadioButton3.Checked) //测试第3个单选按钮是否选中 ◼ { ◼ Label1.Text = "You selected " + RadioButton3.Text; ◼ } ◼ }
表2-13 RadioButton控件的常用事件 说明 当用户更改选定项时触发此事件。在默认情况下,此事件不会导致向服务器发送页。但是,可 Checked changed 以通过将 AutoPostBack属性设置为true,来强制该控件立即执行回发 在一般情况下,不需要直接对 Radiobutton控件的选择事件 进行响应,仅当有必要知道用户何时更改了单选按钮组中 的选择内容时,才响应这一事件 当用户选择 RadioButton控件时的响应方法如下: a public void RadioButton_Checked Changed(object sender, System EventArgs e) Label1Text =You selected Radio Button RadioButton.Text:
◼ 在一般情况下,不需要直接对RadioButton控件的选择事件 进行响应,仅当有必要知道用户何时更改了单选按钮组中 的选择内容时,才响应这一事件。 ◼ 当用户选择RadioButton控件时的响应方法如下: ◼ public void RadioButton1_CheckedChanged (object sender, System.EventArgs e) ◼ { ◼ Label1.Text = "You selected Radio Button " + RadioButton1.Text; ◼ }
2) Radiobuttonlist控件 语法格式如下: 单选按钮旁显示的 文字1 单选按钮旁显示的文 字2 单选按钮旁显示的文字3
◼ (2)RadioButtonList控件 ◼ 语法格式如下: ◼ ◼ 单选按钮旁显示的 文字1 ◼ 单选按钮旁显示的文 字2 ◼ 单选按钮旁显示的文字3 ◼ … ◼
表2-14 Radio Button List控件的常用属性 Cellpadding 获取或设置成员控件的边框和内容之间的距离(以像素为单位) Cellspacing 获取或设置相邻表成员控件之间的距离(以像素为单位) Repeatcolumns 设置 RadioButtonlist控件中成员控件显示的列数 RepeatDirection 获取或设置 RadioButtonlist控件中成员控件的显示方向 sed获取或设置列表中被选定项的最小序号索引,如果没有成员被选中,则其值为1 SelectedItem 获取列表控件中索引最小的选定项 Selected value 获取列表控件中选定项的值,或选择列表控件中包含指定值的项 Text 设置显示在控件旁边的说明文字 表2-15 Radio Button list控件的常用事件 说明 SelectedIndex Change当在控件中更改选定项时触发本事件,需要配合 AutoPostBack属性使用
向web页添加一个 RadioButtonlist控件,然后向该控件添加 列表项,操作方法如下 ①从工具箱的“标准”选项卡中,将 Radiobuttonlist控件 拖到页面上。 ②可以在“属性”窗口中,设置 TextIle属性来更改标题 的方向,设置 RepeatDirection来更改控件的布局,指定各 项的排序方式: Vertical(垂直,默认)或 Horizontal(水平 ③可以使用以下3种方法向列表服务器控件添加项: ■在设计时添加静态项 ■以编程方式在运行时添加项 使用数据绑定添加项,将在后面章节中详细介绍
◼ 向Web页添加一个RadioButtonList控件,然后向该控件添加 列表项,操作方法如下。 ◼ ① 从工具箱的“标准”选项卡中,将RadioButtonList控件 拖到页面上。 ◼ ② 可以在“属性”窗口中,设置TextAlign属性来更改标题 的方向,设置RepeatDirection来更改控件的布局,指定各 项的排序方式:Vertical(垂直,默认)或Horizontal(水平 )。 ◼ ③ 可以使用以下3种方法向列表服务器控件添加项: ◼ 在设计时添加静态项。 ◼ 以编程方式在运行时添加项。 ◼ 使用数据绑定添加项,将在后面章节中详细介绍
在设计时添加静态项的方法如下 ■①在设计视图中,选择要向其中添加项的列表控件。 Radiobuttonlist控件添加到页面中后,自动显示如图2-10所 示的快捷菜单,其中,“选择数据源”用于将控件绑定到 某个数据库指定的字段上。如果快捷菜单被隐藏,可单击 该控件右上角的按钮将其展开。在快捷菜单中单击“编 辑项”,或者在“属性”窗口中,单击 Items属性后的按 钮,都将显示“ ListItem集合编辑器”对话框,如图2-11所 item集台 杂1 Enabled C未绑定 RadioButtonList任 启用 Auto postBack 图2-10 RadioButtonlist控件的快捷菜单 图2-1 Listitem集合编辑器
◼ 在设计时添加静态项的方法如下。 ◼ ① 在设计视图中,选择要向其中添加项的列表控件。 ◼ RadioButtonList控件添加到页面中后,自动显示如图2-10所 示的快捷菜单,其中,“选择数据源”用于将控件绑定到 某个数据库指定的字段上。如果快捷菜单被隐藏,可单击 该控件右上角的 按钮将其展开。在快捷菜单中单击“编 辑项”,或者在“属性”窗口中,单击Items属性后的 按 钮,都将显示“ListItem集合编辑器”对话框,如图2-11所 示
②单击“添加”按钮向单选按钮组中添加成员。在每个成 员名称之前带有一个数字编号,该编号为成员控件的索引 号( Index)。可通过 SelectedIndex属性获取或设置 Radiobuttonlist控件中被选定成员的索引号 ③选择此新项,然后在右侧列表框中设置'ext、 Value Selected等属性值。最多可以为该项指定4个可能的属性, 见表2-16。 表2-16控件的 Listitem属性 属性 说 Text 指定列表中显示的文本 Value 指定一个与该项关联但不显示的值,默认与Text属性值相同。例如,在某测试题中可以将Text属性设置 为显示选项,将 Value属性设置为该选项的得分 Selected 设置或返回成员控件是否选中此项。一次只能选择一项 Enabled设置成员控件是否可以被访问。若该属性设置为flse,则该成员呈灰色显示,不接受用户的单击操作 ④对要添加的每项重复步骤②和步骤③,然后单击“确定 ”按钮
◼ ② 单击“添加”按钮向单选按钮组中添加成员。在每个成 员名称之前带有一个数字编号,该编号为成员控件的索引 号(Index)。可通过SelectedIndex属性获取或设置 RadioButtonList控件中被选定成员的索引号。 ◼ ③ 选择此新项,然后在右侧列表框中设置Text、Value、 Selected等属性值。最多可以为该项指定4个可能的属性, 见表2-16。 ◼ ④ 对要添加的每项重复步骤②和步骤③,然后单击“确定 ”按钮