首页 > 解决方案 > 在列表视图中线程安全 FindItemByText 的最佳方法

问题描述

我一直在尝试各种方法来创建跨线程搜索 ListView 的函数。特别是使用 FindItemWithText 方法,我想出了一个解决方案。我只是不相信这是正确的方法,任何建议将不胜感激

当前粗溶液:

        string SearchLocal(string findstr)
    {
        string item = findstr;
        if (lvContactsLocal.InvokeRequired)
        {

                lvContactsLocal.Invoke((MethodInvoker)delegate ()
                {

                    if (lvContactsLocal.FindItemWithText(findstr, true, 0) != null)
                    {
                        item = lvContactsLocal.FindItemWithText(findstr, true, 0).Text;
                    }

                });

        }
        return item;
    }

如果在列表视图中找不到匹配项,它会返回您的输入

标签: c#searchthread-safety

解决方案


推荐阅读