Option Explicit
Dim m_bItemChecked As Boolean '判定是否触发ItemCheck事件
Private Sub Command1_Click()
ListView1.ListItems(1).Checked = True '让程序代码来决定第一个listItem 被选中
End Sub
Private Sub Form_Load()
With ListView1
.LabelEdit = lvwManual
.Checkboxes = True
.ListItems.Add , , "a"
.ListItems.Add , , "b"
.ListItems.Add , , "c"
End With
End Sub
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
m_bItemChecked = True
End Sub
Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim xItem As ListItem
Set xItem = ListView1.HitTest(x, y)
If xItem Is Nothing Then Exit Sub
If m_bItemChecked Then xItem.Checked = Not xItem.Checked '如果触发过Check事件
'就让Checked值变回去
m_bItemChecked = False
End Sub