Определяет - сможет ли пользователь сделать множественный выбор в элементе управления ListBox и то, как эта выборка может быть сделана. Доступно как в design time, так и в run time.

ListBox.MultiSelect[ = nChoice]

Expand imageВозвращаемое значение

nChoice

Установками для свойства MultiSelect являются:

Установка Описание

0

(По умолчанию) Множественный выбор не разрешен.

1

Множественный выбор разрешен. Для выбора множества предметов в списке элемента управления ListBox, нажмите и удерживайте клавишу CTRL, пока щелкаете по предметам списка, выбирая их.

Expand imageПримечания

Применяется к: ListBox

Set MultiSelect to true (.T.) to enable a user to select multiple items in a list. Вы можете use the Selected property to determine which items are selected.

Expand imageПример

В приведенной ниже примере создается ListBox. Его свойство MultiSelect устанавливается в true (.T.), позволяя вам сделать множественный выбор из списка предметов. Источником для предметов, которые появляются в списке является массив; массив определен свойствами RowSourceType и RowSource.

Свойство ListCount используется в цикле FOR ... ENDFOR для отображения предметов, выбранных вами из списка. Свойство Selected используется для определения выбранных вами предметов, а свойство List используется для их получения.

  CopyCode imageСкопировать код
CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Fill the array with letters
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
ENDFOR

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

Expand imageСмотрите также