我有一个文本框,我想使用该文本框自动搜索文本文件并将结果显示在列表框中。列表框已经包含了文本文件中每一行的第一项,因此我基本上只想使用文本文件中每一行的第一项进行搜索。 我当前拥有的代码没有任何作用。
private void custsearchbox_TextChanged(object sender, EventArgs e)
{
string[] autosource = File.ReadAllLines(@"data\Suppliers.txt");
for (int g = 0; g < autosource.Length; g++)
{
custsearchbox.AutoCompleteCustomSource.Add(autosource[g]);
}
custsearchbox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
}
我想在文本框中键入第一项并搜索我的列表框,因为当我输入文本时,我希望列表过滤掉不匹配的项。请帮助我实现这一目标。
答案 0 :(得分:0)
我尝试过:
private void supsearchtxt_TextChanged(object sender, EventArgs e)
{
listsup.Items.Clear();
Supfile = System.AppDomain.CurrentDomain.BaseDirectory + "data\\Suppliers.txt";
List<string> proName = new List<string>();
using (StreamReader rdr = new StreamReader(Supfile))
{
string line;
while ((line = rdr.ReadLine()) != null)
{
if (line.Contains(supsearchtxt.Text))
{
string[] val = line.Split(',');
listsup.Items.Add(val[0]);
}
}
}
}
效果很好。