有没有人知道如何在ListView中找到所选项目的数量,特别是在VBA中有复选框?
我的方法如下。当我单击此ListView中的复选框时,应用程序必须检查所选项是否超过三个,然后抛出错误消息。
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
If checked items > 3 then
//Error message
Else
//continues
End If
End Sub
答案 0 :(得分:1)
您需要遍历list items并查询Checked属性。
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
' Returns the number of selected items.
Dim li As ListItem ' Used to loop over all items.
Dim c As Integer ' Used to count selected items.
' Loop over each item.
For Each li In ListView1.ListItems
' Increase count if selected.
If li.Checked = True Then c = c + 1
Next
' Inform user.
MsgBox c, vbInformation, "Selected Items"
End Sub
修改强>
仅当您的列表框使用复选框时,Checked属性才有效。在所有其他情况下,使用selected属性。来自MSDN:
此属性仅在CheckBoxes属性中有用 ListView控件将包含的项设置为true。您可以使用 此属性用于确定用户是否已检查该项目 在运行时通过代码。确定要检查的所有项目 在ListView控件中,您可以使用CheckedItems属性。采取 检查项目时的操作,您可以创建一个事件处理程序 用于ListView控件的ItemCheck属性。
答案 1 :(得分:0)