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
Vous devez vous connecter pour publier un commentaire.
Un
CheckedListBox
n'est pas une collection deCheckBox
contrôles.Il ne dispose pas d'une collection d'objets wrappers.
Le contrôle CheckedListBox est un simple contrôle qui ne peut afficher une simple liste d'éléments; il semble que vous êtes à la recherche de quelque chose de plus puissant. (Par exemple, il est impossible de changer la couleur de fond d'un élément individuel sans propriétaire-dessin)
Vous devez utiliser un
ListView
(avec leCheckBoxes
propriété a la valeur true) à la place.Vous pouvez ensuite faire une boucle par la
ListViewItem
cas, dans sesItems
collection.Pas grand chose à comprendre, en fait. L'objet que vous obtenez est le réel de l'objet que vous avez ajouté à la liste (dans votre cas, une chaîne de caractères, je crois). Pas la "élément de la liste" créé pour lui. Visuellement, la personnalisation de l'individu exigera du codage d'un dessinés par le propriétaire de zone de liste, ce qui serait une autre leçon tout à fait.
OriginalL'auteur SLaks
OriginalL'auteur I Lavi