이전에 채워진 CheckedListBox가 있습니다. CheckedListBox의 모든 항목을 통해 "for each/next"로 반복하고 checklistbox의 각 반복 요소에 많은 "stuff"를 수행하려고합니다.CheckedListBox의 각 <item>에 대해 <item>은 컨트롤로 사용하지 않고 개체로 반환합니다.
예제 코드 :
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
문제는이 '객체'타입이 아닌 '관리'유형이다. CheckBox로 반복하면 Checkbox가 InvalidCastException을 던져서 'System.String'을 'System.Windows.Forms.CheckBox'유형과 연결할 수 없다는 메시지가 표시됩니다.
나는이 문제를 쉽게 해결할 수 있지만 나는 그 루프에 많은 코드를 가지고 있기 때문에 each/next 루프를 사용하고 싶다. (그리고 With는 사용할 수 없다.) 항상 객체에 직접 poiting하는 것은 내가 피하고 싶고 정말로 필요한 코드이다. 가능한 한 간단합니다.
나는 실제로 어느 오후에 이것을 보냈지 만 어떤 대답도 찾을 수 없었다.
예,하지만 CheckedListBox는 충분히 강력하지 않습니다. – SLaks
실제로 알아낼 부분은 많지 않습니다. 당신이 얻고있는 객체는리스트에 추가 한 실제 객체입니다 (귀하의 경우에는 내가 믿는 문자열). 그것을 위해 만들어진 "목록 항목"이 아닙니다. 개별 항목을 시각적으로 사용자 정의하려면 소유자가 그린 목록 상자를 코딩해야하며 이는 또 다른 교훈입니다. – Ishmaeel