检查Listbox是否包含某个元素

本文关键字:元素 包含某 是否 Listbox 检查 | 更新日期: 2023-09-27 18:00:50

我知道这个问题已经在这里发布了很多次了,但我已经阅读了线程,没有什么对我有用的,所以我决定在这里问。

我只是想检查某个字符串是否已经在我的列表框中。我试过

   listBox.Items.Contains("stringToMatch")

但我一无所获。

我也试过

 foreach (var item in form1.filterTypeList.Items)
                {
                    if (item.ToString() == "stringToMatch")
                    {
                        break;              
                    } 

他什么也没找到。为什么?我该如何解决?

检查Listbox是否包含某个元素

尝试使用这种方式。。。FindByText

strig toMatch = "stringToMatch";
ListItem item = ListBox1.Items.FindByText(toMatch);
if (item != null)
{
    //found
}
else
{
    //not found
}

请像下面这样尝试。我正在对列表视图项目进行循环,以根据项目标记或项目文本搜索字符串。

  for (int i = 0; i <= ListView.Items.Count - 1; i++) 
            {
                itmX = ListView.Items.Item(i); 
                if (itmX.Text.ToString() = "stringToMatch")
                {
                  break;              
                } 
            }

for (int i = 0; i <= ListView.Items.Count - 1; i++) 
    {
        itmX = ListView.Items.Item(i); 
        if (itmX.Tag.ToString() = "stringToMatch")
        {
          break;              
        } 
    }

现在很简单,您只需首先在listbox项的集合中找到该项的索引,然后使用listbox listBox1.FindStringExact的此功能。

private void FindMySpecificString(string searchString) 
{ 
   // Ensure we have a proper string to search for. 
   if (searchString != string.Empty) 
   { 
      // Find the item in the list and store the index to the item. 
      int index = listBox1.FindStringExact(searchString); 
      // Determine if a valid index is returned. Select the item if it is valid. 
      if (index != ListBox.NoMatches) 
         listBox1.SetSelected(index,true); 
      else 
         MessageBox.Show("The search string did not find any items in the ListBox that exactly match the specified search string"); 
   } 
}

访问以下网站了解更多说明和示例https://msdn.microsoft.com/en-us/en-en/library/81wes5yz(v=vs.110(.aspx