Actually, looking more closely the whole loop can be done better. There's no point creating items that aren't going to be used:
VB Code:
  1. Me.lv_Packages.BeginUpdate()
  2.  
  3. For Each objAdvert As Object In ColAdvertisements
  4.     If objAdvert.IsEnabled OrElse Me.check_ShowDisabledPackages.Checked
  5.         Dim lvi As New ListViewItem(CStr(objAdvert.Name))
  6.  
  7.         lvi.Tag = objAdvert.ID
  8.  
  9.         If Not objAdvert.IsEnabled Then
  10.             lvi.ForeColor = Color.Red
  11.         End If
  12.  
  13.         Me.lv_Packages.Items.Add(lvi)
  14.     End If
  15. Next objAdvert
  16.  
  17. Me.lv_Packages.EndUpdate()
Also, you've got some serious late-binding happening there. What's up with all the 'Object' types?