JavaScript Editor js editor     Web development 

Main Page

Creates a list box that displays a list of items that you can select one or more items from. A list box is similar to a combo box; however, a combo box initially displays a single item. For more information about combo boxes, see ComboBox Control.

For more information about creating ListBox controls, see Form Designer and Using Controls.



The following table lists properties commonly set at design time.

Property Description


Determines the number of columns in the list.


Specifies where to store the value that the user chooses from the list.


Specifies whether to display mover bars to the left of the items in the list so that a user can rearrange the item order.


Specifies whether the user can select more than one item in the list.


Specifies the source of the values displayed in the list.


Specifies the type of the source of the values displayed in the list.

The following table lists methods commonly used.

Method Description


Adds an item to the list when RowSourceType is set to 0.


Removes an item from the list when RowSourceType is set to 0.


Updates the list if the values in the source specified by RowSource have changed.

The backslash ("\") is treated as a special character when used in the expression for an item. The following rules apply for this character:

  • You can disable an item in a list box or combo box by adding a single backslash to the beginning of the expression.

  • Any multiple of two backslashes used in the expression is displayed as a single backslash. For example, one or two backslashes used together will display as one, and three or four backslashes together will display as two. The following example code contains a list box item containing a Universal Naming Convention (UNC) path. The code would display in the list box as \\MyServer\MyMachine\MyFolder.

    В Copy Code
  • If the expression begins with multiple backslashes, the item is not disabled. If you want to disable an item that begins with multiple backslashes, add a backslash and a close bracket (]) to the beginning of the item. For example, the following would disable the UNC path item in the list box:

    В Copy Code
  • To include a separator line, use a backslash followed by a hyphen as the item to add to the list box. For example, the following code adds a separator line to a list box:

    В Copy Code

You can also use an ActiveX control that adds extra characteristics, such as a CheckBox, to the ListView or TreeView controls.


The following example creates a ListBox control. The source of the items that appear in the list box is an array specified with the RowSourceType and RowSource properties.

The MultiSelect property for the list box is set to true (.T.), allowing you to make multiple selections from the list. The item or items you choose are displayed by using the ListCount, Selected, and List properties (which determine the number of items in the list and the items you chose).

В Copy Code

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

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

      CLEAR EVENTS  && Stop event processing, close Form
      CLEAR  && Clear main Visual FoxPro window

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

   ? "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


See Also

JavaScript Editor js editor     Web development