MultiSelect Property (Visual FoxPro)
Specifies whether a user can make multiple selections in a ListBox control and how the multiple selections can be made. Available at design time; read/write at run time.
ListBox.MultiSelect[ = nChoice]
Return Value
nChoice
The settings for the MultiSelect property are:Setting
Description
0
(Default) Multiple selection isn't allowed.
1
Multiple selection is allowed. To select multiple items in a ListBox control, hold the CTRL key down while clicking the items.
Remarks
Applies To: ListBox
Set MultiSelect to true (.T.) to enable a user to select multiple items in a list. You can use the Selected property to determine which items are selected.
Example
The following example creates a ListBox. The MultiSelect property for the list box is set to true (.T.), allowing you to make multiple selections from the list box. The source of the items that appear in the list box items is an array; the array is specified with the RowSourceType and RowSource properties.
The ListCount property is used within a FOR ... ENDFOR loop to display the item or items you choose in the list box. The Selected property is used to determine the items you chose, and the List property is used to return the items.
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
See Also
Reference
AddItem Method (Visual FoxPro)