在文本框中输入内容时候,自动带出一个列表框显示符合条件的记录,请问在C# Winform 下怎么实现这个效果?如果上面能够完成,那么如何在列表中放复选框,查询的结果只显示我选中的项呢?

解决方案 »

  1.   

    应该有专门的控件吧,记得在Web开发中有这种控件,不知道winform下有没有,可以上网找一下
      

  2.   

    textbox +listbox
    在textbox的textBox1_TextChanged事件中查询符合条件的数据源给listbox显示
      

  3.   

    好像直接用 ComboBox 就行了吧 (还是叫 DropDownList ? 忘了)
    列表改用 Custom 
    就可以自订选项了
      

  4.   

    ComboBox 具备你说的这种功能!
      

  5.   

    用 ComboBox 控件:DropDownStyle 设置为:DropDown
    DrawMode  设置为:OwnerDrawVariable
    AutoCompleteMode 设置为:Suggest
    AutoCompleteSource 设置为:ListItems
    可以实现你的功能要求
      

  6.   

    看下面 的例子 
            //TextBox3 改变时发生
            private void textBox3_TextChanged(object sender, EventArgs e)
            {
                if (this.textBox3.Text.Trim() != "")
                {                DataSet ds = dm.GetCorpNamebyCorpName(this.textBox3.Text);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        listView1.Items.Clear();
                        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                        {
                            listView1.Items.Add(ds.Tables[0].Rows[i][1].ToString());
                            listView1.Items[i].Tag = ds.Tables[0].Rows[i][0];
                        }
                        listView1.Visible = true;
                    }
                    else
                    {
                        this.listView1.Visible = false;
                    }
                }
                else
                {
                    this.listView1.Visible = false;
                }
            }
            //选择ListView中项时发生
            private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                this.textBox3.Tag = listView1.SelectedItems[0].Tag;
                this.textBox3.Text = listView1.SelectedItems[0].Text;
                this.listView1.Visible = false;
            }