2013-04-24 69 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是如何工作的。它已經遍歷列表框中的每個項目並搜索您正在查找的內容。它不需要在一個循環中工作。你是否試圖建立一個循環來瀏覽多個列表框? – 2013-04-24 14:02:00

+0

對不起,我應該更具體。我希望它繼續尋找它的第一個結果,而不是停止。 – 2013-04-24 14:34:19

回答

2

您可以使用while循環:

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

非常感謝,非常完美。 – 2013-04-24 14:33:07