Определяет, выбран ли элемент списка в элементе управления ComboBox или ListBox. Недоступно на этапе разработки, доступно для чтения-записи на этапе выполнения.

[Form.]Control.Selected(nIndex) [= lExpr ]

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

nIndex

Числовой тип даных. Selected задает индекс элемента списка ComboBox или ListBox.

lExpr

Логический тип данных. Для свойства Selected предусмотрены следующие установки:

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

True (.T.)

Элемент выбран.

False (.F.)

Элемент не выбран. (По умолчанию)

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

Применимо к: ComboBox Control | ListBox Control

Установка свойства Selected в элементе управления ListBox также устанавливает свойство ListItem и вызывает событие ProgrammaticChange.

Свойство Selected особенно полезно, когда разрешен выбор нескольких элементов списка. Вы можете быстро проверить, какие элементы списка выбраны. Данное свойство также позволяет выделять элементы в списке или отменять выделение с помощью кода. Чтобы проверить, выбран ли третий элемент списка ListBox, задайте:

  CopyCode imageCopy Code
IF MyList.Selected(3)
  WAIT WINDOW "It's selected!"
ELSE
  WAIT WINDOW "It's not!"
ENDIF

Expand imageПример

В следующем примере создается элемент управления ListBox. Источником элементов для списка ListBox служит массив, имя которого задается свойством RowSource. Значение свойства RowSourceType устанавливается равным 5 (Array), что указывает на то, что источником элементов для списка ListBox является массив.

Значение свойства MultiSelect для ListBox устанавливается равным "истине" (.T.), что дает возможность выбирать в списке ListBox сразу несколько элементов. Выбранный элемент (или элементы) в списке ListBox отображается на экране с помощью свойств ListCount, Selected, и List которые позволяют определить число элементов в списке ListBox и посмотреть, какие элементы выбраны.

  CopyCode imageCopy Code
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 window context menu.

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' && Specifies array source containing list box items.

frmMyForm.cmbCommand1.Visible =.T.  && "Quit" command button visible.
frmMyForm.lstListBox1.Visible =.T.  && List box visible.

frmMyForm.SHOW  && Display form.
READ EVENTS  && Start event processing.

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create command button.
   Caption = '\<Quit'  && Assign caption on the command button.
   Cancel = .T.  && Assign 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 and 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Смотрите также