首页 理论教育 列表框和ListCount功能

列表框和ListCount功能

时间:2023-11-25 理论教育 版权反馈
【摘要】:6)ListCount:返回列表框中项目的数目。如果省略,则新项目采用追加方式,即添加到列表框的最后。如图6-6所示,功能如下:图6-6 利用列表框进行课程选择1)“添加”按钮,将左边选定的项目移动到右边列表框中。这里应使用列表框的Selected属性。如果有选定的,则添加,然后从列表框中移除。图6-7 列表框引用无效

列表框和ListCount功能

Visual Basic提供列表框控件用于从多个选项中选择一个或多个选项。

1.属性

1)Cloumns:制定列表框中列的数目。列表框中的项目可以单列垂直显示,也可以水平单行或多列列表显示。取值:0-垂直单列列表;1-水平单行列表;大于1-水平多列列表。

2)Enabled:用于设定是否对事件产生响应,取值:True-可用;False-不可用,在执行程序时,该对象用灰色显示,并且不响应任何事件。

3)Font:设置字体。

4)ForeColor:设置前景颜色。

5)List:返回或设置控件列表中的项目。列表是一个字符串数组,数组中的每个元素都是一个列表项目。对ListBox和ComboBox控件,在设计时可以通过属性窗口得到。

格式:

978-7-111-49659-5-Chapter06-36.jpg

index为列表中具体某个项目的编号,也就是索引

6)ListCount:返回列表框中项目的数目。该属性是一个只读属性,不能在属性窗口中设置,只能在程序运行时访问它。

7)ListIndex:该属性不能在属性窗口中设置,一般在程序运行中设置或返回列表框控件中当前选中项目的索引,即在项目中的编号。编号从0开始。如果用户没有选定任何项目,则该值为−1。

8)MultiSelect:是否允许多项选择。取值:1-不允许多项选择;2-简单多项选择,即用鼠标单击操作;3-扩充多项选择,即用Shift键和Ctrl键配合操作。

9)Selected:返回或设置ListBox控件中某项的选择状态。

格式:

978-7-111-49659-5-Chapter06-37.jpg

index为控件中项的索引号。

Boolean为一个用来指定项是否被选中的布尔表达式。如果该值为True,则该项目被选中;如果为False,则该项目未被选中。

此属性对于复选是非常重要的,可以快速检查在列表中哪些项已被选中,也可以通过代码设置该属性,以选中或取消选中列表中的一些项。

10)Sorted:设置是否以字母顺序排列项目。取值:True或False。

11)Style:获得或设置一个值,决定是否将复选框显示在ListBox控件中。取值:0-Standard,标准模式;1-Checkbox,复选框模式。

12)Text:设置用户选定项的内容。

2.事件

1)Click:当单击列表框时发生。

2)DblClick:当双击列表框时发生。

3.方法

1)AddItem:用于将项目添加到ListBox控件中。

格式:(www.xing528.com)

978-7-111-49659-5-Chapter06-38.jpg

item:必选,字符串表达式,指定添加到该对象中的项目。

index:可选,整数,指定新项目在该列表框中的位置。对于ListBox控件的首项,index为0。如果省略,则新项目采用追加方式,即添加到列表框的最后。

2)Clear:用于清除ListBox控件中所有的项目。

3)RemoveItem:从ListBox控件中删除一项。

格式:

978-7-111-49659-5-Chapter06-39.jpg

index:必选,整数,它表示要删除的项在列表框中的位置。对于ListBox控件中的首项,index为0。

【例6-5】如图6-6所示,功能如下:

978-7-111-49659-5-Chapter06-40.jpg

图6-6 利用列表框进行课程选择

1)“添加”按钮,将左边选定的项目移动到右边列表框中。

2)“全部添加”按钮,将左边所有项目移动到右边列表框中。

3)“移除”按钮,将右边选定的项目移动到左边列表框中。

4)“全部移除”按钮,将右边所有项目移动到左边列表框中。

向列表框List1中添加项目,有以下两种方法:

1)从属性窗口的List属性中逐一添加,这种方法效率低,不可取。

2)通过代码从Form_Load事件中添加。

完整代码如下。

978-7-111-49659-5-Chapter06-41.jpg

如果两个列表框的MultiSelect属性修改为2或者3,允许多选,那么应该修改本例中“添加”按钮和“移除”按钮的代码,因为列表框的Text、ListIndex属性只用于单选。这里应使用列表框的Selected属性。“添加”按钮和“移除”按钮的代码修改如下:

978-7-111-49659-5-Chapter06-42.jpg

这里在判断列表框中的项目时,采用了倒序的方法,也就是从后向前判断。如果有选定的,则添加,然后从列表框中移除。那么,为什么不按正序判断呢?例如:

978-7-111-49659-5-Chapter06-43.jpg

原因是这样的:假设选择了两个项目,第一项的Index值为0,当把第一项移走后,第二项就变成了第一项,相应的Index值也变为0。可是这时i值为1,判断的其实是第三项了。并且随着i值的增大,列表框中的项目在逐渐减少,导致当i值增大到某个值时,该项目已经不存在了,系统会报错,如图6-7所示。

978-7-111-49659-5-Chapter06-44.jpg

图6-7 列表框引用无效

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈