Compartir a través de


MultiSelect (Propiedad)

Especifica si el usuario puede realizar varias selecciones en un control ListBox y cómo puede hacerlo. Está disponible en tiempo de diseño; es de lectura y escritura en tiempo de ejecución.

ListBox.MultiSelect[ = nChoice]

Valores de la propiedad

  • nChoice
    Las configuraciones posibles de la propiedad MultiSelect son:
    Valor Descripción
    0 (Valor predeterminado) No se permite la selección múltiple.
    1 Se permite la selección múltiple. Para seleccionar varios elementos en un control ListBox, mantenga presionada la tecla CTRL mientras hace clic en los elementos.

Observaciones

Establezca MultiSelect como verdadero (.T.) para permitir que un usuario seleccione varios elementos de una lista. Puede utilizar la propiedad Selected para determinar qué elementos se seleccionan.

Ejemplo

El ejemplo siguiente crea un control ListBox. 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 origen de los elementos que aparecen en el cuadro de lista es una matriz, especificada con las propiedades RowSourceType y RowSource.

La propiedad ListCount se utiliza dentro de un bucle FOR ... ENDFOR para mostrar los elementos elegidos en el cuadro de lista. La propiedad Selected se utiliza para determinar los elementos que eligió y la propiedad List sirve para devolver estos elementos.

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

Vea también

AddItem (Método) | Clear (Método) | List (Propiedad) | ListCount (Propiedad) | NewItemID (Propiedad) | RemoveItem (Método) | Selected (Propiedad) | TopItemID (Propiedad)

Se aplica a: ListBox