有人能告诉我吗;这个代码错了

本文关键字:代码 错了 告诉我 | 更新日期: 2023-09-27 18:21:24

我正在尝试在您键入时实现搜索(就像在iTunes中一样)。我正在使用ObjectListView。此外,我有一个用于进行搜索的文本框,如下所示:

private void textBoxSearch_TextChanged(object sender, EventArgs e)
        {
            string txt = textBoxSearch.Text;
            TextMatchFilter filter = null;
            if (!String.IsNullOrEmpty(txt))
            {
                filter = TextMatchFilter.Contains(myObjectListView, txt);
            }
            // Setup a default renderer to draw the filter matches
            if (filter == null)
                myObjectListView.DefaultRenderer = null;
            else
            {
                myObjectListView.DefaultRenderer = new HighlightTextRenderer(filter);
                // Uncomment this line to see how the GDI+ rendering looks
                myObjectListView.DefaultRenderer = new HighlightTextRenderer { Filter = filter, UseGdiTextRendering = false };
            }
            // Some lists have renderers already installed
            HighlightTextRenderer highlightingRenderer = myObjectListView.GetColumn(0).Renderer as HighlightTextRenderer;
            if (highlightingRenderer != null)
                highlightingRenderer.Filter = filter;
            myObjectListView.ModelFilter = filter;
        }

有人能弄清楚为什么这不起作用吗?上面的代码是为了在用户在文本框中键入时过滤搜索结果(就像iTunes一样,如果你曾经使用过iTunes)。显然,到目前为止,什么都没发生。这段代码似乎根本不执行。

有人能告诉我吗;这个代码错了

根据这一点,ObjectListView有一个名为UseFiltering的属性,默认情况下为false,必须设置为true才能启用筛选。