Freigeben über


MultiSelect-Eigenschaft

Gibt an, ob und wie ein Benutzer in einem Listenfeld-Steuerelement (ListBox) eine Mehrfachauswahl treffen kann. Diese Eigenschaft steht Ihnen zur Entwurfszeit zur Verfügung; zur Laufzeit besteht Schreib-/Lesezugriff.

ListBox.MultiSelect[ = nChoice]

Eigenschaftswerte

  • nChoice
    Die MultiSelect-Eigenschaft kann eine der folgenden Einstellungen annehmen:
    Einstellung Beschreibung
    0 (Standard) Eine mehrfache Auswahl ist nicht zulässig.
    1 Eine mehrfache Auswahl ist zulässig. Um in einem Listenfeld-Steuerelement (ListBox) mehrere Einträge auszuwählen, halten Sie beim Klicken auf die Einträge STRG gedrückt.

Hinweise

Stellen Sie MultiSelect auf Wahr (.T.) ein, um einem Benutzer die Auswahl mehrerer Einträge in einer Liste zu ermöglichen. Mit Hilfe der Selected-Eigenschaft können Sie ermitteln, welche Einträge ausgewählt wurden.

Beispiel

Im folgenden Beispiel wird ein Listenfeld erstellt. Die MultiSelect-Eigenschaft für das Listenfeld ist auf Wahr (.T.) festgelegt und ermöglicht Ihnen so Mehrfachauswahlen aus dem Listenfeld. Die Quelle der im Listenfeld angezeigten Einträge ist ein Array; das Array ist mit den Eigenschaften RowSourceType und RowSource angegeben.

Die ListCount-Eigenschaft wird innerhalb einer FOR ... ENDFOR-Schleife verwendet, um den oder die im Listenfeld ausgewählten Einträge anzuzeigen. Die Selected-Eigenschaft wird zur Bestimmung der gewählten Einträge verwendet und die List-Eigenschaft gibt die Einträge zurück.

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

Siehe auch

AddItem-Methode | Clear-Methode | List-Eigenschaft | ListCount-Eigenschaft | NewItemID-Eigenschaft | RemoveItem-Methode | Selected-Eigenschaft | TopItemID-Eigenschaft

Betrifft: Listenfeld-Steuerelement (ListBox)