使用 Visual Basic 中的 Selected 属性可以确定列表框中的项目是否已选定。Long 型,可读写。
expression.Selected(lRow)
expression 必需。返回“应用于”列表中的一个对象的表达式。
lRow 必需,Long 型。列表框中的项目。第一项用零 (0) 表示,第二项用一 (1) 表示,依此类推。
Selected 属性是一个从零开始的数组,该数组包含了列表框中每个项目的选择状态。
设置 |
说明 |
True |
选定列表框项目。 |
False |
未选定列表框项目。 |
注释 使用 Visual Basic 可以获得或设置 Selected 属性。
该属性只在程序运行时可用。
当列表框控件的 MultiSelect 属性设为“无”时,只有一个项目的 Selected 属性能够设为 True。当列表框控件的 MultiSelect 属性设为“简单”或“展开的”时,任何项目的 Selected 属性都可以设为 True。一个与字段绑定的多重选择列表框将有一个始终等于 Null 的 Value 属性。可以使用 Selected 属性或 ItemsSelected 集合来检索关于项目选择情况的信息。
在 Visual Basic 中使用 Selected 属性,可以从列表框中选择项目。例如,下面的表达式将选择列表中的第五项。
Me!Listbox.Selected(4) = True
下面的示例使用 Selected 属性将所选项目从 lstSource 列表框移到 lstDestination 列表框。其中 lstDestination 列表框的“行来源类型”属性设置为“值列表”,控件的“行来源”属性由在 lstSource 控件中选定的所有项目决定。lstSource 列表框的“多重选择”属性设置为“展开的”。CopySelected () 过程由 cmdCopyItem 命令按钮调用。
Private Sub cmdCopyItem_Click()
CopySelected Me
End Sub
Public Sub CopySelected(ByRef frm As Form)
Dim ctlSource As Control
Dim ctlDest As Control
Dim strItems As String
Dim intCurrentRow As Integer
Set ctlSource = frm!lstSource
Set ctlDest = frm!lstDestination
For intCurrentRow = 0 To ctlSource.ListCount - 1
If ctlSource.Selected(intCurrentRow) Then
strItems = strItems & ctlSource.Column(0, _
intCurrentRow) & ";"
End If
Next intCurrentRow
' Reset destination control's RowSource property.
ctlDest.RowSource = ""
ctlDest.RowSource = strItems
Set ctlSource = Nothing
Set ctlDest = Nothing
End Sub