vb.net的ListBox控件

来源:百度文库 编辑:神马文学网 时间:2024/04/28 21:05:05

ListBox(列表框)控件可以显示一组项目的列表,用户可以根据需要从中选择一个或多个选项。列表框可以为用户提供所有选项的列表。虽然也可设置列表框为多列列表的形式,但在缺省时列表框单列垂直显示所有的选项,如果项目数目超过了列表框可显示的数目,控件上将自动出现滚动条。这时用户可在列表中上、下、左、右滚动。ListBox控件在工具箱中的图标如图所示:

1.click和Double-click事件对于列表框的事件,特别是当列表框参与触发应用程序的某一部分功能时,可以添加一个Button控件,并把该按钮同列表框并用。按钮的Click事件过程应该使用列表框的选项执行适于应用程序的操作。双击列表中的项目与选定项目然后单击按钮,这两者应该具有相同的效果。为此,应在ListBox控件的Double-Click过程中调用按钮的click过程:

Public Sub ListBox1_DoubleClick(ByVal sender As Object,_ ByVal e As System.EventArgs)Handles ListBox1.DoubleClick Button1_Click(sender,e)End Sub

这将为使用鼠标的用户提供快捷方式,同时也没有妨碍使用键盘的用户执行同样的操作。注意:没有与DoubleClick事件等价的键盘命令,因此无法通过快捷键的方式达到ListBox控件的DoubleClick功能。2.向列表框中添加项目为了向列表框中添加项目,应使用InsertItem方法,其语法如下:ListboxName.InsertItem(index As integer,Item AS Object)或ListboxName.Items.Insert(index As Integer,Item As Object)其中ListboxName列表框的名称“item”添加到列表中的字符串表达式。若“item”是文字常数,则用括号将它括起来:“index”指定在列表中插入新项目的位置。“index”为0表示第一个位置。如果在列表框的第一个位置添加项目也可以用:ListboxName.Items.Add(Item As Object)通常在窗体设计时或New过程或InitializeComponent(该过程存在于Windows Form Designer generated code)中添加列表项目,但也可在任何时候使用InsertItem方法添加项目,于是可动态(响应用户的操作)添加项目。下列代码将“Germany”、“India”、“France”和“USA”添加到名为ListBox1的列表框中:

Public Sub New() MyBase.New Form1=Me 'This call is required by the Win Form Designer IntializeComponent ListBox1.InsertItem(0,"Germany") ListBox1.InsertItem(1,"India") ListBox1.InsertItem(2,"France") ListBox1.InsertItem(3,"USA") 'TODO:Add any initialization after the InitializeComponent() callEnd Sub

注意:“InitializeComponent”中的代码是在每次窗体设计后自动生成的,因此尽量一次设计好窗体,因为如果重复设计窗体,以前所添加的代码将被覆盖掉,所以可以把向ListBox中添加代码编成一个过程,"'AddItem() '过程",在"New()"或"InitializeComponent()"调用这个过程,如下:

Public Sub New() MyBase.New Form1=Me 'This call is required by the Win Form Designer Intializecomponent Call AddItem(0 'TODO:Add any initialization after the InitializeComponent() CallEnd SubPrivate Sub AddItem() ListBox1.InsertItem(0,"Germany") ListBox1.InsertItem(1,"India") ListBox1.InsertItem(2,"France") ListBox1.InsertItem(3,"USA")End Sub

3.设计时添加项目通过设置ListBox控件属性窗口的Items属性还可在设计时向列表添加项目,在选定了Items属性选项并单击时,弹出“字符串集合编辑器”可输入列表项目并按Enter键换行。只能在列表末端添加项目。所以,如果要将列表按字母顺序排序,则应将Sorted属性设置成true.

4.排序列表可以指定要按字母顺序添加到列表中的项目,为此将Sorted属性设置为true并省略索引。排序时不区分大小写;因此单词“japan”和“JAPAN”将被同等对待。Sorted属性设置为true后,InsertItem方法可能会导致不可预料的非排序结果。

5.从列表中删除项目从列表中删除项目可用下面的语法:ListboxName.Items.Remove(Index As Integer)“Remove”有一参数“index”,它指定删除的项目;它有一个重载函数:ListboxName.Items.Remove(value As Object)以适应不同参数输入的需要。要删除列表框中的所有项目,应使用Clear方法:Listbox1.Items.Clear()。6.通过Text属性获取列表内容通常,获取当前选定项目值的最简单方法是使用Text属性。Text属性总是对应用户在运行时选定的列表项目。例如,下列代码在用户从列表框中选定Canada时显示有关加拿大人口的信息:

Public Sub Listbox1_DoubleClick(ByVal sender As object,Byval e As System.EventArgs) If Listbox1.Text="Canada" Then Textbox1.Text="Canada has 24 million people." End IfEnd Sub

Text属性包含当前在Listbox1列表框中选定的项目。代码检查是否选定了“Canada”,若已选定,则在Text框中显示信息。7.用Items属性访问列表项目可用Items属性访问列表的全部项目。此属性包含一个数组,列表的每个项目都是数组的元素。每个项目以字符串形式表示。引用列表的项目时应使用如下语法:ListboxName.Items(index)"ListboxName"参数是列表框的名称,“index”是项目的位置。顶端项目的索引为0,接下来的项目索引为1,依次类推。例如,下列语句在一个文本框中显示列表的第三个项目(index=2):Textbox1.Text=Ctr(Listbox1.Items(2))。8.用SelectedIndex属性判断位置如果要了解列表中已选定项目的位置,则用SelectedIndex属性。此属性只在运行时可用,它设置或返回控件中当前选定项目的索引。设置列表框的SelectedIndex属性也将触发控件的click事件。如果选定第一个(项端)项目,则属性的值为0,如果选定下一个项目,则属性的值为1,依此类推。若未选定项目,则SelectedIndex值为-1。9.使用Count属性返回项目数为了返回列表框中的项目的数目,应使用Count属性。例如,下列语句用Count属性判断列表框中的项目数:Textbox1.Text="You have"&Listbox1.Items.Count&"_entries listed"