使用 Visual Basic 中的 “所选” 属性确定是否已选中某个项目。 读/写 Long。
语法
表达式。已选定 (lRow)
表达式 表示 控件 对象的变量。
参数
| 名称 | 必需/可选 | 数据类型 | 说明 |
|---|---|---|---|
| lRow | 必需 | Long | 列表框中的项。 第一项用零 (0) 表示,第二项用一 (1) 表示,依此类推。 |
备注
Selected 属性是一个从零开始的数组,包含在列表框中每个项的选定的状态。
| Setting | 说明 |
|---|---|
| True | 选定列表框项。 |
| False | 未选定列表框项。 |
此属性只在运行时可用。
当列表框控件的 多重选择 属性设置为 None 时,只有一个项目可以有其 所选 属性设置为 True 。 当列表框控件的 多重选择 属性设置为简单或扩展时,任何或所有项的可以都让他们 选定 属性设置为 True 。 多选列表框绑定到的字段必须始终等于 NullValue 属性。 使用 所选 属性或 ItemsSelected 集合来检索有关该选定项的信息。
通过 Visual Basic 使用所 选属性 选择列表框中的项目。 例如,下面的表达式将选择列表中的第五个项。
Me!Listbox.Selected(4) = True
示例
以下示例使用 Selected 属性将 lstSource 列表框中的所选项目移动到 lstDestination 列表框。 将 lstDestination 列表框的 RowSourceType 属性设置为值列表,并且该控件的 RowSource 属性由 lstSource 控件中的所有选定项构成。 lstSource 列表框的 MultiSelect 属性设置为“扩展”。 从 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。