一。列表框(listbox):主要用于选择一组指定的数据,用户从列表中选取选项,然后执行所需的操作。
二。列表框常用属性:见下表
属性 | 作用 |
rowsource | 列表项内容从何处来(来源) |
rowsourcetype | 列表项内容来源的类型,详见注1 |
displayvalue | 选择值 |
boundcolumn | 在列表框包含多项时指定哪一列作为value属性的值 |
columncount | 行源列数 |
list(i) | 第i行的值 |
selected(i) | 第i行是否被选中 |
multiselect | 是否可以同时选取多项 |
moverbars | 项目是否可以移动 |
sorted | 当rowsourcetype为0和1时,列表项是否按字母大小排序 |
listindex | 列表框中当前被选定项的索引值 |
integralheight | 列表框的高度是否可自动调整 |
listcount | 列表框中数据项的数目 |
incrementalsearch | 确定在键盘操作时是否支持增量搜索.值为.T.,当用键盘选择列表项,用户敲一个键,系统将自动定位到与输入字母相应的项前 |
注1(rowsourcetype属性可指定的值):
0-无,运行时使用列表框的确良additem和addlistitem方法加入
1-值,将列表框的内容在设计时直接写在该属性中
2-表别名:由columncount确定表中选择的字段。当用户选择列表框时,记录指针将自动移到该记录上
3-sql语句:见sql部分,由执行的结果产生。
4-查询文件名:见查询部分,由查询结果产生
5-数组名
6-字段名表:可用表别名作为字段前缀。当用户选择列表项时,记录指针将自动移到该记录上
7-文件名描述框架,可包含"*"和"?"来描述在列表框中显示的文件名
8-结构
9-弹出式菜单,提供向后兼容。
Visual FoxPro基础教程完整版二。列表框常用的方法:见下表
方法 | 作用 |
additem | 增加列表项 |
removeitem | 移去列表项 |
clear | 移去所有列表项 |
requery | 当rowsourcetype为3和4时,根据rowsource中的最新数据重新刷新列表项 |
三。列表框常用事件:列表框的常用事件为click(单击)事件和dbclick(双击)事件。
四。例:列表框练习
1.新建表单,添加一个文本框text1,三个命令按钮command1~command3,三个命令按钮的caption属性依次设为"加入","移出"和"全部移出",一个列表框list1.界面如图25
2.设置属性:将表单的caption属性设为"列表框练习",autocenter属性设为。T.;将列表框list1的moverbars属性设为。T.,multiselect属性设为。T.
●"移出"命令按钮command2的click事件:
IF thisform.list1.listindex>0
thisform.list1.removeitem(thisform.list1.listindex)
ENDIF
●"全部移出"按钮command3的click事件:
thisform.list1.clear
●列表框list1的init事件:
thisform.list1.additem("杨过")
thisform.list1.additem("小龙女")
thisform.list1.additem("东方不败")
●列表框list1的dbclick事件:
thisform.command2.click() &&调用command2("移出"按钮)的click事件代码
说明:运行后,列表框中自动添加了3条记录,如图26,
这是在表单的init代码中添加的;在文本框中输入任意文本,如果和列表框中的内容不同,单击"加入"按钮,该内容会加入到列表框;否则不添加;在列表框中选中一条数据,单击"移出"按钮,该数据被删除;在列表框中直接双击某条数据,则的列表框的dbclick事件中调用"移出"按钮的click事件代码, 将双击的数据删除。
Visual FoxPro基础教程完整版
上一篇 Access使用宏控制程序