2013-04-24 5 views
0

Я застреваю, пытаясь найти способ петли listbox.FindString() для каждого элемента для поиска по списку предметов. Просто пример:Как петля listbox.FindString() для каждого элемента

Пример кода:

string myString = "hi"; 

int index = listBox1.FindString(myString, -1); 

if (index != -1) { 
    listBox1.SetSelected(index, true); 
    MessageBox.Show("Found the item \"" + myString + "\" at index: " + index); 
} 
+0

Одна из двух вещей происходит: я недоразумение ваш вопрос (очень вероятно), или вы не понимаете, как работает FindString. Он уже перебирает каждый элемент списка и ищет то, что вы ищете. Это не должно быть в цикле для работы. Вы пытаетесь настроить цикл для просмотра нескольких списков? –

+0

Извините, я должен был быть более конкретным. Я хотел, чтобы он продолжал следить за тем, как он нашел свой первый результат, а не остановился. –

ответ

2

Вы можете использовать while цикл:

int index = ListBox.NoMatches; 
while ((index = listBox1.FindString(myString, index)) != ListBox.NoMatches) 
{ 
    MessageBox.Show("Found the item \"" + myString + "\" at index: " + index); 
} 
+0

Большое спасибо, отлично работал. –

Смежные вопросы