2013-06-20 3 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 является единственным выбором в спискеbox1.

Любые предложения?

+0

Как это 'listbox1' связаны, и какой тип' myValue'? Кроме того, это Winforms или ASP? – Kratz

ответ

4

Ваша итерация не так, вы должны использовать значение элемента в цикле:

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

для каждого цикла в основном выполняет следующие действия: (Пожалуйста, простите любые синтаксические ошибки, мой VB ржавая)

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

Большое вам спасибо за помощь Матанико. Это было именно то, что мне нужно. Отмечено как ответ. –

+0

Добро пожаловать, и удачи! – Mataniko

1

попробовать:

For i = listbox1.Items.Count 
    If listbox1.Items[i].IsSelected = True Then 
     'Do this 
    Else 
     'Do that 
    End If 
Next i