ListBox.Selected 属性 (Access)

使用 Visual Basic 中的 Selected 属性确定是否选择了列表框中的项。 读/写 Long

语法

表达式所选 (lRow)

表达 一个代表 ListBox 对象的变量。

参数

名称 必需/可选 数据类型 说明
lRow 必需 Long 列表框中的项。 第一项用零 (0) 表示,第二项用一 (1) 表示,依此类推。

备注

Selected 属性是一个从零开始的数组,包含在列表框中每个项的选定的状态。

Setting 说明
True 选定列表框项。
False 未选定列表框项。

此属性只在运行时可用。

当列表框控件的 多重选择 属性设置为 None 时,只有一个项目可以有其 所选 属性设置为 True 。 当列表框控件的 多重选择 属性设置为简单或扩展时,任何或所有项的可以都让他们 选定 属性设置为 True 。 多选列表框绑定到的字段必须始终等于 NullValue 属性。 使用 所选 属性或 ItemsSelected 集合来检索有关该选定项的信息。

使用 Selected 属性可以通过 Visual Basic 选择列表框中的项。 例如,下面的表达式将选择列表中的第五个项。

Me!Listbox.Selected(4) = True

示例

以下示例使用 Selected 属性将 lstSource 列表框中的选定项移动到 lstDestination 列表框。 lstDestination 列表框的 RowSourceType 属性设置为 Value List,并且控件的 RowSource 属性是从 lstSource 控件中的所有选定项构造的。 lstSource 列表框的 MultiSelect 属性设置为 Extended。 从 cmdCopyItem 命令按钮调用 CopySelected ( ) 过程。

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

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。