As noted in the documentation, the ItemCheck event "occurs when the checked state of an item changes." In other words, it's intended to provide information about the checked state of a single item, not the entire list.
Private Sub CListBox1_ItemCheck(ByVal sender As Object, _
ByVal e As System.Windows.Forms.ItemCheckEventArgs) _
' Display msgbox for previous checked items
For Each itemchecked As Object In CListBox1.CheckedItems
' If this event is fired because item was checked,
If e.NewValue <> CheckState.Unchecked Then
' Display msgbox for newly-checked item