2013-04-24 118 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