VC++2010搜索某个字符串的列表视图

VC++ 2010 search listview for a certain string

本文关键字:列表 视图 字符串 搜索 VC++2010      更新时间:2023-10-16

我创建了一个列表视图,我正在向其中添加数据,我想避免重复,所以在向其中添加新项目之前,我正在搜索列表视图。我在这里找到了一些类似的代码(我想?)

array<ListViewItem^>^ lvHostsSearch = lvHosts->Items->Find(gcnew String(myStr), false);
if(lvHostsSearch->Length == 0)
{
   // Add Item to listbox since it was not found.
}

Find()方法的MSDN页面声明返回值是一个数组:

包含匹配项的ListViewItem对象数组,如果没有匹配项,则为空数组

这就是为什么它测试一个长度为0的数组。尽管它仍然一次又一次地添加它?我知道我的逻辑一定是错的,或者看到了一些错误。感谢您的帮助!谢谢

编辑(已解决):

我终于找到了在列表视图中搜索文本的方法。正如在MSDN页面上看到的那样。我最终做了这样的事情:

if(myListView->FindItemWithText(myStr) == nullptr)

希望它能帮助其他人。

答案是使用ListView::FindItemWithText,请阅读此处的用法。请参阅我上面的编辑,了解我如何解决我的确切问题。