我有以下代码,只有在该行的开始处查找前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;
接收集合有什么问题?