一。列表框(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使用宏控制程序