当前位置: 代码迷 >> .NET Framework >> vs2013 textbox如何实现模糊搜索
  详细解决方案

vs2013 textbox如何实现模糊搜索

热度:547   发布时间:2016-05-01 23:20:45.0
vs2013 textbox怎么实现模糊搜索
我现在在做个校园的IP修改器,然后搜索功能不会实现,求大神指点!
我有一个textbox跟listbox窗体,我的listbox里面有课室号,我想要实现的功能是:当我在textbox输入“A”,然后就会显示listbox里面有关于“A”的课室号,
再次求大神指点!

------解决思路----------------------
引用:
@ajianchina  
 private void textBox6_KeyUp(object sender, KeyEventArgs e)
        {
            var query = listBox1.Items.Cast<string>().Select(p => p.ToLower()).Where(p => p.Contains(textBox6.Text.ToLower()));
        } 
我写了之后好像不行啊,运行的时候我在textbox里面打了个“a”,然后textbox的往下显示的那个框没有显示我listbox里面的“A101”和“A102”啊,是不是还需要其他条件?

举个例子吧

List<string> list = new List<string>();
void 读取文件夹的方法()
{
list.Add("A101");
list.Add("A102");
list.Add("B101");
list.Add("B102");
listBox1.DataSource = list;
}
private void textBox6_KeyUp(object sender, KeyEventArgs e)
{
TextBox tbox = sender as TextBox;
    listBox1.DataSource = list.Where(p => p.ToLower().Contains(tbox.Text.ToLower())).ToList();


------解决思路----------------------
根据之上描述数据

        public Form1()
        {
            InitializeComponent();

            listBox1.Items.Add("a123");
            listBox1.Items.Add("a456");
            listBox1.Items.Add("a789");
            listBox1.Items.Add("b123");
        }

        private void textBox1_DoubleClick(object sender, EventArgs e)
        {
            ListBox aaaa = new ListBox();
            foreach (string aa in listBox1.Items)
                if (aa.Contains(textBox1.Text))
                    aaaa.Items.Add(aa);
            listBox1.Items.Clear();
            listBox1.Items.AddRange(aaaa.Items);
        }
  相关解决方案