2013-06-20 4 views
0

배경 : 여러 항목을 선택할 수있는 목록 상자가 있습니다. 내 목록 상자에 특정 값이 있습니다.이 값을 선택하면 별도의 코드 경로를 실행해야하며 다른 모든 선택 항목은 다른 경로를 통과해야합니다.ListBox에서 선택한 항목 찾기

문제점 : VB.NET에서 제대로 작성하여 상상할 수있는 방법을 찾지 못했습니다.

코드 : 내 목록에 여러 선택을 할 경우

For Each Item As String In listbox1.SelectedItems 
     If listbox1.SelectedItem = myValue Then 
      Do this 
     Else 
      Do that 
     End If 
    Next 

코드가 제대로 작동하지 않습니다. myValue가 listbox1의 유일한 선택 인 경우에만 올바르게 작동합니다.

제안 사항?

+0

? 또한,이 Winforms, 또는 ASP 무엇입니까? – Kratz

답변

4

귀하의 반복이 잘못된 것입니다, 당신은 당신의 루프에서 항목 값을 사용한다 :

For Each Item As String In listbox1.SelectedItems 
    If Item = myValue Then 
     Do this 
    Else 
     Do that 
    End If 
Next 

을 For Each 루프 기본적으로 다음을 수행합니다 (구문 오류를 용서하십시오, 내 비주얼 베이직은 녹슨)

For index As Integer = 0 To listbox1.SelectedItems.Length 
    Def Item = listbox1.SelectedItems[index] 
Next 
+0

도와 주신 Mataniko에게 고맙습니다. 그것은 내가 필요로했던 바로 그 것이었다. 답변으로 표시되었습니다. –

+0

당신은 환영합니다, 그리고 행운을 빌어 요! – Mataniko

1

시도 :

은`listbox1` 바인딩, 그리고 어떤 종류 myValue` '입니다 어떻게
For i = listbox1.Items.Count 
    If listbox1.Items[i].IsSelected = True Then 
     'Do this 
    Else 
     'Do that 
    End If 
Next i 
관련 문제