我知道这个问题已经多次发布在这里,但是我已经阅读了这些帖子,对我来说没什么用,所以我决定在这里问一下。
我只想检查列表框中是否已存在某个字符串。我试过了
listBox.Items.Contains("stringToMatch")
但我一无所获。
我也试过
foreach (var item in form1.filterTypeList.Items)
{
if (item.ToString() == "stringToMatch")
{
break;
}
他什么也没发现。为什么?我该如何解决?
答案 0 :(得分:0)
尝试使用这种方式... FindByText
strig toMatch = "stringToMatch";
ListItem item = ListBox1.Items.FindByText(toMatch);
if (item != null)
{
//found
}
else
{
//not found
}
答案 1 :(得分:0)
请尝试如下。我正在列表视图项上循环,以根据项标记或项文本搜索字符串。
for (int i = 0; i <= ListView.Items.Count - 1; i++)
{
itmX = ListView.Items.Item(i);
if (itmX.Text.ToString() = "stringToMatch")
{
break;
}
}
OR
for (int i = 0; i <= ListView.Items.Count - 1; i++)
{
itmX = ListView.Items.Item(i);
if (itmX.Tag.ToString() = "stringToMatch")
{
break;
}
}
答案 2 :(得分:0)
现在这么简单,你只需先找到列表框项集合中该项的索引,然后使用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