ASP.NET中 ListBox列表框控件的使用方法
- 格式:doc
- 大小:23.00 KB
- 文档页数:3
listbox使用说明摘要:1.什么是Listbox2.Listbox的基本用法3.Listbox的属性与设置4.Listbox的实例演示5.总结正文:Listbox是Python中的一种控件,通常用于展示一系列选项供用户选择。
Listbox控件属于tkinter库,是Python内置的图形界面库。
以下将详细介绍Listbox的使用方法及其相关属性设置。
一、Listbox的基本用法在使用Listbox之前,首先需要导入tkinter库:```pythonimport tkinter as tk```然后创建一个窗口,接着创建一个Listbox并添加选项:```pythonwindow = ()# 创建Listboxlistbox = tk.Listbox(window, selectmode=tk.MULTIPLE)# 添加选项listbox.insert(0, "选项1")listbox.insert(1, "选项2")listbox.insert(2, "选项3")# 布局listbox.pack()# 启动窗口window.mainloop()```二、Listbox的属性与设置1.`selectmode`:设置Listbox的选中模式,可设置为`tk.MULTIPLE`(多选)、`tk.EXTENDED`(扩展选中)或`tk.SINGLE`(单选)。
2.`height`:设置Listbox的高度。
3.`width`:设置Listbox的宽度。
4.`font`:设置Listbox中选项的字体。
5.`borderwidth`:设置Listbox的边框宽度。
6.`bg`:设置Listbox的背景色。
7.`fg`:设置Listbox中选项的字体颜色。
8.`selectbackground`:设置选中选项的背景色。
9.`selectforeground`:设置选中选项的字体颜色。
中CheckBoxList复选框列表控件详细使⽤⽅法可以使⽤两种类型的 控件将复选框添加到 Web 窗体页上:单独的 CheckBox 控件或 CheckBoxList 控件。
两种控件都为⽤户提供了⼀种输⼊布尔型数据(真或假、是或否)的⽅法。
本⽂主要介绍CheckBoxList,不⾔⽽喻,看到List就知道是⼀个列表(集合),⼀个控件可以包含多个CheckBox,下⾯让我们来看看具体的⽤法。
1.绑定数据复制代码代码如下:this.lngCatalogID.DataSource = dt; //这⾥我绑到DataTable上了.this.lngCatalogID.DataTextField = "strCatalogName"; //前台看到的值,也就是CheckBoxList中显⽰出来的值this.lngCatalogID.DataValueField = "lngCatalogID"; //这个值直接在页⾯上是看不到的,但在源代码中可以看到this.lngCatalogID.DataBind();2.获取钩选的项复制代码代码如下:foreach(ListItem li in lngCatalogID.Items){if(li.Selected) //表⽰某⼀项被选中了{//li.Test表⽰看到的值,对应上⾯的strCatalogName//li.Value表⽰看到的值对应的值.对应上⾯的lngCatalogID}}3.设置某项为钩选状态复制代码代码如下:foreach(ListItem li in lngCatalogID.Items){if(li.Value.Equals("钩选条件")) //如果li.Value值等于某值,就钩选{li.Selected = true; //等于true就表⽰钩选啦.break;}}4.DataGrid中全选复制代码代码如下:foreach(DataGridItem thisItem in DataGridLogininfo.Items){((CheckBox)thisItem.Cells[0].Controls[1]).Checked = CheckBox2.Checked;}5.反向选择复制代码代码如下:for (int i = 0; i < checkedListBox1.Items.Count; i++){if (checkedListBox1.GetItemChecked(i)){checkedListBox1.SetItemChecked(i, false);}else{checkedListBox1.SetItemChecked(i, true);}}CheckBoxList控件⽤法范例范例⼀、循环遍历每个选项,包含的对应值的设置为选中状态复制代码代码如下:for (int i = 0; i < hfAnswers.Value.Split(',').Length; i++)//给CheckBoxList选中的复选框赋值{for (int j = 0; j < CBoxListAnswer.Items.Count; j++){if (hfAnswers.Value.Split(',')[i] == CBoxListAnswer.Items[j].Value){CBoxListAnswer.Items[j].Selected = true;}}}范例⼆、循环来遍历读取每个选项,将选中的选项的值拼接成字符串,以便后续插⼊数据库复制代码代码如下:string m_strTemp = string.Empty;for (int i = 0; i < CBoxListAnswer.Items.Count; i++)//读取CheckBoxList 选中的值,保存起来{if (CBoxListAnswer.Items[i].Selected){m_strTemp += CBoxListAnswer.Items[i].Value + ",";}}if (!string.IsNullOrEmpty(m_strTemp))Label1.Text = m_strTemp.Substring(0, m_strTemp.Length - 1);elseLabel1.Text = m_strTemp;。
第五讲列表控件本讲主要介绍组合框(Combo Box)控件和列表框(List Box)控件的的使用方法。
一.创建一个基于对话框的应用程序模板1.选择应用程序类型:选择“File\New”菜单→在弹出的“New”对话框的选择“Projects”选项卡→应用程序类型选择“MFC AppW izard(exe)”→“Projectname”编辑框中输入“ListBox”→“Location”编辑框中输入适当的路径→单击“OK”2.选择项目类型在“MFC AppWizar – Step 1”对话框中“Dialog based”单选钮→单击“Finish”按钮。
二.修改对话框模板把主对话框模板修改成如下图所示:图6-11.增加“编号”、“姓名”、“出生年月”、“性别”、“职称”和“职工情况列表”等六个静态文本2.在“编号”右侧增加一个下沉风格的静态文本,资源符号为:IDC_NUMBER 在“Styles”选项卡的“Center-vertically”复选钮:选中3.在“姓名”和“出生年月”右侧,增加二个编辑框,资源符号分别为:IDC_NAME, IDC_BIRTHDAY4.在“性别”和“职称”右侧,增加二个组合框,资源符号分别命名为:IDC_SEX 在Combo Box Properties对话框的styles选项卡的type下拉列表框中选择Drop List注:Drop List选项不允许组合框编辑输入IDC_TITLE 在Combo Box Properties对话框的styles选项卡的type下拉列表框中选择Drop List注:Dropdown选项允许组合框编辑输入5.增加“添加”、“删除当前选定行”和“在选定行前插入”三个按钮,ID 值命名为:IDC_ADD, IDC_DELETE, IDC_INSERT6.在“职工情况列表”的下方,增加一个列表控件”List Control”:在”List Control Properties”对话框中如下设置:A.在General选项卡的ID组合框中输入:IDC_LISTB.在Styles选项卡中选择:“V iew:”下拉列表框:Report“Align:”下拉列表框:Top“Sort:”下拉列表框:Ascending“Single selection”复选框:选中三.为控件连接变量为各控件连接的变量名及其值类型和变量类型如下(连接方法前已述):控件ID 变量名变量类别变量类型IDC_NUMBER m_nNumber value CStringIDC_NAME m_sName value CStringIDC_BIRTHDAY m_sBirthday value CStringIDC_SEX m_nSex valve intm_cSex Control CComboBoxIDC_TITLE m_sT itle value CStringm_cT itle Control CComboBoxIDC_LIST m_cList Control CListBox 注:IDC_TITLE组合框控件上各连连接了两个变量,它们值类型分别为value 和Control,连接方法是对同一个控件ID,两次使用“Add Variables…”即可。
中DropDownList下拉框列表控件绑定数据的4种⽅法DropDownList Web 服务器控件使⽤户能够从预定义的列表中选择⼀项。
它与 ListBox Web 服务器控件的不同之处在于,其项列表在⽤户单击下拉按钮之前⼀直处于隐藏状态。
另外,DropDownList 控件与 ListBox 控件的不同之处还在于它不⽀持多重选择模式。
DropDownList在html中的呈现对应的是select,下⾯让我们来看⼀下DropDownList绑定数据的⼏种⽅法。
⼀、把Array数组绑到DropDownList复制代码代码如下:string[] Month =new string[7]{ "January", "February", "March", "April", "May", "June", "July" };this.DropDownList1.DataSource = Month;this.DropDownList1.DataBind();这种⽅法只可以绑定⼀组数据到DropDownList,因为DropDownList可以绑定两种数据:1是DataTextField、2是DataValueField,所以第⼀种⽅法绑定后DataTextField的值==DataTextField值。
⼆、把动态Array数组绑定到DropDownList复制代码代码如下:ArrayList ar = new ArrayList();for (int i = 1; i <=12; i++){ar.Add(i+"⽉");}this.DropDownList2.DataSource = ar;this.DropDownList2.DataBind();本质上就是讲1到12⽉加到数组中,如下:复制代码代码如下:ArrayList ar = new ArrayList();ar.Add("1⽉");ar.Add("2⽉");ar.Add("3⽉");ar.Add("4⽉");...this.DropDownList2.DataSource = ar;this.DropDownList2.DataBind();这种⽅法的好处是通过ArrayList.Add的⽅法,可以实现动态添加元素的功能,⽐⽅说,有⼀个DataTable,我们要把DataTable 中⼀⾏的数据读出来添加到Arraylist当中。
listBox的⽤法1. 属性列表:SelectionMode组件中条⽬的选择类型:None-根本不允许任何选择;One-默认值,只选择单个选项;MultiSimple-简单的多项选择,单击⼀次⿏标就选中或取消选中列表中的⼀项;MultiExtended-扩展的多项选择,类似windows中的选择操作.SelectedItem在单选的列表框⾥, SelectedItem返回的是⼀个对象,它的⽂本由Text属性表⽰.作⽤是获得列表框中被选择的条⽬.如果控件允许多项选择,被选中的条⽬就以SelectedItems属性表⽰,它是Item对象的⼀个集合.Count列表框中条⽬的总数SelectedIndex /SelectedIndices/SelectedItem/SelectedItemsListBox.SelectedIndex属性获取单项选择ListBox中当前选定项的位置;ListBox.SelectedIndices属性获取⼀个集合,该集合包含ListBox中所有当前选定项的从零开始的索引;ListBox.SelectedItem属性获取ListBox中当前选定的项;ListBox.SelectedItems属性获取多重选择ListBox 中所有选定的项,它是⼀集合。
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollectionListBox.SelectedIndexCollection,包含控件中当前选定项的索引。
如果当前没有选定的项,则返回空 ListBox.SelectedIndexCollection泛指列表框中的所有项2. 取列表框中被选中的值ListBox.SelectedValue3. 动态的添加列表框中的项:ListBox.Items.Add("所要添加的项");以下代码实现通过输⼊框向列表框中添加内容:Private Sub bttnAdd1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnAdd1.ClickDim ListItem As StringListItem = InputBox("Enter new item's name")If ListItem.Trim <> "" ThensourceList.Items.Add(ListItem)End IfEnd SubListBox.Items.Insert(index,item)item是要添加到列表的对象,index是这个新项的索引。
ListBox 控件向列表添加项目为了向列表框中添加项目,应使用AddItem 方法,其语法如下:box.AddItem item[, index]参数描述box 列表框的名称item 添加到列表中的字符串表达式。
若item 是文字常数,则用引号将它括起来index 指定在列表中插入新项目的位置。
index 为0 表示第一个位置。
若省略index,则将项目插入在末尾(或按排序次序插入在适当的位置下列代码将"Germany"、"India"、"France" 和"USA" 添加到名为List1 的列表框中:Private Sub Form_Load ()List1.AddItem "Germany"List1.AddItem "India"List1.AddItem "France"List1.AddItem "USA"End Sub为了在指定位置添加项目,应对新项目指定索引值。
例如,下行代码将"Japan" 插入到第一个位置并把其它项目向下调整:List1.AddItem "Japan", 0注意,是0 而不是1 指定列表中的第一个位置通过设置ListBox 控件“属性”窗口的List 属性还可在设计时向列表添加项目。
在选定了List 属性选项并单击向下箭头时,可输入列表项目并按CTRL+ENTER 组合键换行可以指定要按字母顺序添加到列表中的项目,为此将Sorted 属性设置为True 并省略索引可用RemoveItem 方法从列表框中删除项目。
RemoveItem 有一参数index,它指定删除的项目:box.RemoveItem indexbox和index 参数与AddItem 中的参数相同。
ListBox控件1.功能ListBox控件显示较长的选项列表,用户可从中选择一项或多项。
如果项总数超出可以显示的项数,则自动向ListBox控件添加滚动条。
ListBox控件列表中的每个元素称为项。
图1所示为ListBox控件。
图1 ListBox控件2.属性ListBox控件常用属性及说明如表1所示。
表1 ListBox控件常用属性及说明下面对比较重要的属性进行详细介绍。
(1)Items属性。
该属性用于查看列表框中的项。
语法:public ObjectCollection Items { get; }属性值:ListBox.ObjectCollection表示ListBox中的项。
说明:① 该属性使用户可以获取对当前存储在 ListBox 中的项列表的引用。
通过此引用,可以在集合中添加项、移除项和获得项的计数。
② 可以使用DataSource属性来操控ListBox的项。
如果使用DataSource属性向ListBox 添加项,则可以使用Items属性查看ListBox中的项,但不能使用ListBox.ObjectCollection的方法向该列表添加项或从中移除项。
(2)SelectedItem属性。
该属性表示当前选中的项。
语法:public Object SelectedItem { get; set; }属性值:表示控件中当前选定内容的对象。
说明:对于标准 ListBox,可以使用此属性确定在ListBox中选定了哪个项。
如果 ListBox 的SelectionMode属性设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox),并在该列表中选定了多个项,则此属性可返回任何选定的项。
示例把左边的文本框中的内容移到右边的文本框中本示例主要使用Items属性向ListBox1控件添加项,然后使用SelectedItem属性将ListBox1控件中的选中项添加到ListBox2控件中。
4.2.3 选择与列表控件3、列表控件ListBox和DropDownList(1)ListBox控件Array•ListBox控件是一个列表式的选择控件,可以一次将所有的选项都显示出来。
•其语法格式如下:<asp:ListBoxID="ListBox1"runat="server"OnSelectedIndexChanged="ListBox1_SelectedIndexChanged"><asp:ListItem>项目1</asp:ListItem><asp:ListItem>项目2</asp:ListItem></asp:ListBox>4.2.3 选择与列表控件3、列表控件ListBox 和DropDownList•ListBox 控件常用属性:(1)ListBox 控件属性说明AutoPostBack设定是否响应OnSelectedIndexChanged 事件Items返回ListBox 控件中ListItem 的对象RowsListBox 控件一次要显示的行数SelectedIndex返回被选取到ListItem 的Index 值SelectedItem返回被选取到ListItem 对象SelectedItems由于ListBox 控件可以多选,被选取的项目会被加入ListItems 集合中,本属性可以返回ListItems 集合,为只读SelectMode 设定ListBox 控件是否可以按住<Shift>键或<Ctrl>键进行多选,默认值为Single ;设为Multiple 时可以多选。
4.2.3 选择与列表控件3、列表控件ListBox 和DropDownList•DropDownList 和ListBox 控件的功能几乎一样,只是DropDownList 不是一次将所有的选项都显示出来,而是采取下拉式的选择方式。
ListBox 控件允许用户从预定义的列表中选择一个或多个项。
它与DropDownList 控件的不同之处在于,它不但可以一次显示多个项,而且(可选)还允许用户选择多个项。
一、属性属性值作用SelectionModeSingle|Multiple列表选择模式:单选|多选SelectedFalse|true是否为选中状态二、示例ListBox.aspx代码如下:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ListBox.aspx.cs" Inherits="WebControls_ListBox" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"> <title></title> <style type="text/css"> .style1 { width: 293px; } .style2 { width: 233px; } </style></head><body> <form id="form1" runat="server"> <div> <h5>1,单选列表框</h5> 省份:<asp:ListBox ID="lstProv" runat="server"> <asp:ListItem>山东</asp:ListItem> <asp:ListItem Selected="True">河北</asp:ListItem> <asp:ListItem>内蒙</asp:ListItem> <asp:ListItem>安徽</asp:ListItem> </asp:ListBox> <br /> <asp:Button ID="btnSubmit" runat="server" Text="提交"onclick="btnSubmit_Click" /> <hr /> 你选择的为:<asp:Label ID="lblState" runat="server"></asp:Label> <hr /> <h5> 2,多选列表框</h5> 省份:<asp:ListBox ID="lstProv2" runat="server" SelectionMode="Multiple"> <asp:ListItem>山东</asp:ListItem> <asp:ListItem Selected="True">河北</asp:ListItem> <asp:ListItem>内蒙</asp:ListItem> <asp:ListItem>安徽</asp:ListItem> </asp:ListBox> 提示:Ctrl+单击<br /> <asp:Button ID="btnSubmit2" runat="server" Text="提交" onclick="btnSubmit2_Click" /> <hr /> 你选择的为:<asp:Label ID="lblState2" runat="server"></asp:Label> </div> </form></body></html>ListBox.aspx.cs代码如下:using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class WebControls_ListBox : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void btnSubmit_Click(object sender, EventArgs e) { lblState.Text = lstProv.SelectedValue; } protected void btnSubmit2_Click(object sender, EventArgs e) { string str = string.Empty; for (int i = 0; i < lstProv2.Items.Count; i++) { if (lstProv2.Items[i].Selected == true) { str = string.Format("{0}{1},",str,lstProv2.Items[i].Value); } } str = str.Substring(0, str.Length - 1); //去掉最后一个“,” lblState2.Text = str; }}。