使用C#Winforms中的TextBox自动完成问题

时间:2016-10-04 05:08:38

标签: c# winforms autocomplete textbox

我有以下代码,只有在该行的开始处查找前3个字符时才有效。但是,我希望能够通过搜索行中的任何位置来显示自动完成数据。

private void txtCMDestination_TextChanged(object sender, EventArgs e)
{
    try
    {
        TextBox t = sender as TextBox;
        if (t != null)
        {
            if (t.Text.Length >= 3)
            {
                var arr = IndexItems.Where(x => x.ToUpper().Contains(t.Text.ToUpper())).ToArray();
                var collection = new AutoCompleteStringCollection();
                collection.AddRange(arr);
                txtCMDestination.AutoCompleteCustomSource = collection;
            }
        }
    }
    catch (Exception) { }
}

有谁知道我在这里做错了什么?

干杯。

修改

我已调试以确保当我键入3个字符时var arr包含已过滤的数据。所以我的LINQ按预期工作,这让我相信txtCMDestination.AutoCompleteCustomSource = collection;接收集合有什么问题?

0 个答案:

没有答案