通过代码选择多个Listbox项目

嗨,我已经搜索了一段时间,似乎无法找到我的问题的解决方案,我已经尝试了多种方法通过代码在我的列表框中选择多个项目,但没有一个工作,我得到的最好的结果是1选择项目在我的列表框中。

基本上我想选择相同值的多个项目。

下面是我的代码,抱歉,如果我看起来是新手,但我是编程新手,还在学习基本的东西。

foreach (string p in listBox1.Items) { if (p == searchstring) { index = listBox1.Items.IndexOf(p); listBox1.SetSelected(index,true); } } 

因此,你可以看到我试图告诉程序循环遍历列表框中的所有项目,并且对于每个等于“searchstring”的项目获取索引并将其设置为选中。

但是,所有这些代码都是选择列表中的第一个项目,它等于“searchstring”使它被选中并停止,它不会遍历所有“searchstring”项。

正如评论中所建议的那样,您应该根据需要将SelectionMode设置为MulitSimpleMultiExpanded ,但您还需要使用forwhile循环而不是foreach ,因为foreach循环不允许在迭代期间更改集合。 因此,即使设置此属性也不会使您的代码运行,您将获得exception。 试试这个:

 for(int i = 0; i 

您可以在使用设计器时在“属性”窗口中设置SelectionMode,或者使用以下代码在Form构造函数中设置SelectionMode:

 listBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple;