Pour chaque <item> dans CheckedListBox. <item> renvoie comme un Objet et non pas comme le Contrôle

J'ai une CheckedListBox déjà peuplées. Je veux faire une boucle avec un "pour chaque /suivant" à travers tous les éléments de la CheckedListBox et de faire beaucoup de "trucs" à chaque itération de l'élément de la checkedlistbox.

exemple de code:

    For Each item In CheckedListBox1.Items

        If item.Checked = True Then

            'do stuff like
            item.BackColor = Color.Blue

        Else

            'do other stuff
            item.BackColor = Color.Brown

        End If

    Next

le problème est que c'est un "Objet" de type et non pas un Contrôle de type. Si je force l'itération var Comme Case, il jette un InvalidCastException dire que le " type de Système.La chaîne ne peut pas être associé avec le type de Système.De Windows.Les formulaires.La case à cocher

Je sais que je peux facilement travailler autour de cela, mais je veux utiliser un pour chaque /prochaine boucle depuis j'ai beaucoup de code dans la boucle (et ne peut pas être utilisé) et toujours poiting directement à l'objet est quelque chose que je veux éviter, et j'ai vraiment besoin du code pour être aussi simple que possible.

J'ai passé un après-midi à la recherche de ce mais ne pouvais pas trouver la réponse.

OriginalL'auteur Tivie | 2010-03-24