Compartir a través de


Selected (Propiedad)

Especifica si un elemento está seleccionado en un control ComboBox o ListBox. No está disponible en tiempo de diseño; es de lectura y escritura en tiempo de ejecución.

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

Valores de la propiedad

  • nIndex
    Especifica el índice de un elemento en un ComboBox o ListBox.
  • lExpr
    Los valores para la propiedad Selected son:
    Valor Descripción
    Verdadero (.T.) El elemento está seleccionado.
    Falso (.F.) (Predeterminado) El elemento no está seleccionado.

Observaciones

Si se establece la propiedad Selected de un control Listbox también se establece la propiedad ListItem y se desencadena el evento Programmatic Change.

La propiedad Selected es útil especialmente cuando los usuarios pueden hacer varias selecciones. Puede comprobar rápidamente qué elementos de la lista están seleccionados. También puede usar esta propiedad para seleccionar o deseleccionar elementos de una lista desde un programa. Para comprobar si el tercer elemento de un cuadro de lista está seleccionado, ejecute lo siguiente:

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

Ejemplo

El siguiente ejemplo crea un cuadro de lista. El origen de los elementos que aparecen como elementos de un cuadro de lista es una matriz; el nombre de la matriz se especifica con la propiedad RowSource. La propiedad RowSourceType se establece como 5 (matriz) para especificar que una matriz es el origen de los elementos del cuadro de lista.

La propiedad MultiSelect para el cuadro de lista está establecida en el valor verdadero (.T.), lo que permite realizar múltiples selecciones desde el cuadro de lista. El elemento o elementos que elija en el cuadro de lista aparecerán usando las propiedades ListCount, Selected y List para determinar el número de elementos del cuadro de lista y los elementos que ha elegido.

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 window pop-up 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' && 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

Vea también

AddItem (Método) | Clear (Método) | List (Propiedad) | ListCount (Propiedad) | ListItemID (Propiedad) | MultiSelect (Propiedad) | NewItemID (Propiedad) | RemoveItem (Método) | RemoveListItem (Método) | SelectedID (Propiedad) | TopItemID (Propiedad)

Se aplica a: ComboBox | ListBox