检查Listbox是否包含某个元素
本文关键字:元素 包含某 是否 Listbox 检查 | 更新日期: 2023-09-27 18:00:50
我知道这个问题已经在这里发布了很多次了,但我已经阅读了线程,没有什么对我有用的,所以我决定在这里问。
我只是想检查某个字符串是否已经在我的列表框中。我试过
listBox.Items.Contains("stringToMatch")
但我一无所获。
我也试过
foreach (var item in form1.filterTypeList.Items)
{
if (item.ToString() == "stringToMatch")
{
break;
}
他什么也没找到。为什么?我该如何解决?
尝试使用这种方式。。。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