Создает список, который отображает список элементов, из которых Вы можете выбрать один или более элементов. Список подобен полю ввода со списком, однако, поле со списком первоначально отображает единственный элемент. Для подробной информации о полях со списком, см. Элемент управления ComboBox.
Для подробной информации о создании ListBox, см. Дизайнер форм и Использование элементов управления.
ListBox |
Замечания
Следующая таблица перечисляет свойства, обычно устанавливаемые во времени разработки.
| Свойство | Описание |
|---|---|
|
определяет количество столбцов в списке. | |
|
определяет, где хранить значение, которое пользователь выбирает из списка. | |
|
Определяет, отображаются ли в элементе управления ListBox линейки прокрутки так, чтобы пользователь мог перестроить порядок элементов. | |
|
определяет, может ли пользователь выбрать больше чем один элемент в списке. | |
|
определяет источник значений, отображенных в списке. | |
|
определяет тип источника значений, отображенных в списке. |
Следующая таблица перечисляет обычно используемые методы.
| Метод | Описание |
|---|---|
|
добавляет пункт в список, когда RowSourceType установлен на 0. | |
|
удаляет элемент из списка, когда RowSourceType установлен на 0. | |
|
обновляет список, если значения в источнике, указанном RowSource изменились. |
Наклонная черта влево ("\") обрабатывается как специальный символ, когда используется в выражении для элемент. Следующие правила применяется для этого символа:
- Вы можете отключить выбор элемента в списке или поле со списком, добавляя единственную наклонную черту свлева в начале выражения.
- Любое множество двух наклонных черт влево, используемых в выражении будет отображен как единственная наклонная черта влево. Например, одна или две наклонных черты влево, используемые вместе отобразятся как один, а три или четыре наклонных черты влево вместе отобразятся как два. Следующий код примера содержит элемент списка, содержит путь в Универсальном соглашение об именах (UNC). Код отобразился бы в списке как
\\MyServer\MyMachine\MyFolder.
Копировать кодMyForm.List1.AddItem("\\\\MyServer\\MyMachine\\MyFolder") - Если выражение начинается с множественных наклонных черт влево, элемент не заблокируется. Если Вы хотите отключить элемент, который начинается с множественных наклонных черт влево, следует добавлять наклонную черту влево и близкую скобку (]) к началу элемента. Например, следующее отключило бы UNC путь в элементе в списка:
Копировать кодMyForm.List1.AddItem("\]\\\MyServer\\MyMachine\\MyFolder") - Чтобы включать строку разделителя, используйте наклонную черту влево, сопровождаемую дефисом, чтобы добавить элемент в список. Например, следующий код добавляет строку разделителя к списку:
Копировать кодMyForm.List1.AddItem("\-")
Вы можете также использовать элемент управления ActiveX, который добавляет дополнительные характеристики, типа CheckBox, элементы управления TreeView или ListView.
Пример
Следующий пример создает элемент управления ListBox. Источник элементов, которые появляются в списке - массив, заданный свойствами RowSourceType и RowSource .
Свойство MultiSelect для списка установлено на истину (.T)., разрешая Вам делать множественные выбор из списка. Элемент или элементы, которые Вы выбираете, отображены, используя свойства ListCount, Selected, и List (которые определяют номер элементов в списке и элементах, которые Вы выбрали).
Копировать код | |
|---|---|
CLEAR
DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10 && Fill the array with letters
STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
NEXT
frmMyForm = CREATEOBJECT('Form') && Create a Form
frmMyForm.Closable = .f. && Disable the Control menu box
frmMyForm.Move(150,10) && Move the form
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn') && Add "Quit" Command button
frmMyForm.AddObject('lstListBox1','lstMyListBox') && Add ListBox control
frmMyForm.lstListBox1.RowSourceType = 5 && Specifies an array
frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && Array containing listbox items
frmMyForm.cmbCommand1.Visible =.T. && "Quit" Command button visible
frmMyForm.lstListBox1.Visible =.T. && "List Box visible
frmMyForm.SHOW && Display the form
READ EVENTS && Start event processing
DEFINE CLASS cmdMyCmdBtn AS CommandButton && Create Command button
Caption = '\<Quit' && Caption on the Command button
Cancel = .T. && Default Cancel Command button (Esc)
Left = 125 && Command button column
Top = 210 && Command button row
Height = 25 && Command button height
PROCEDURE Click
CLEAR EVENTS && Stop event processing, close Form
CLEAR && Clear main Visual FoxPro window
ENDDEFINE
DEFINE CLASS lstMyListBox AS ListBox && Create ListBox control
Left = 10 && List Box column
Top = 10 && List Box row
MultiSelect = .T. && Allow selecting more than 1 item
PROCEDURE Click
ACTIVATE SCREEN
CLEAR
? "Selected items:"
? "---------------"
FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
IF ThisForm.lstListBox1.Selected(nCnt) && Is item selected?
? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Show item
ENDIF
ENDFOR
ENDDEFINE | |
Смотреть также
Другие ресурсы
Объекты, Коллекции и КлассыСвойства, методы и события элемента управления ListBox
Команда CREATE CLASS
Команда CREATE FORM
Команда DEFINE CLASS