VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • c#中实现百度搜索框的下选效果

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceNewApp
{
  classAutoComplete
  {
    List<TextBox>_CompleteObjectList=newList<TextBox>();
    Dictionary<string,AutoCompleteStringCollection>_Source=newDictionary<string,AutoCompleteStringCollection>();
    SqlConnectionconn=newSqlConnection("DataSource=.;InitialCatalog=TestDB;IntegratedSecurity=True");
    publicAutoComplete()
    {
      conn.Open();
      SqlCommandcmd=newSqlCommand("select*fromAutoComplete",conn);
      SqlDataReaderread=cmd.ExecuteReader();
      while(read.Read())
      {
        stringkey=read["name"].ToString();
        if(!_Source.ContainsKey(key))
          _Source.Add(key,newAutoCompleteStringCollection());
        _Source[key].Add(read["str"].ToString());
      }
      read.Close();
      conn.Close();
    }
    publicvoidAddAll(Controlitem)
    {
      for(inti=0;i<item.Controls.Count;i++)
      {
        Controlvar=item.Controls[i];
        if(var.GetType().Equals(typeof(TextBox)))
        {
          Add(varasTextBox);
        }
      }
    }
    publicvoidAdd(TextBoxtext)
    {
      _CompleteObjectList.Add(text);
      text.Leave+=newEventHandler(text_Leave);
      text.AutoCompleteMode=AutoCompleteMode.SuggestAppend;
      text.AutoCompleteSource=AutoCompleteSource.CustomSource;
      if(!_Source.ContainsKey(text.Name))
      {
        _Source.Add(text.Name,newAutoCompleteStringCollection());
      }
      text.AutoCompleteCustomSource=_Source[text.Name];
    }
    publicvoidDelete(TextBoxtext)
    {
      _CompleteObjectList.Remove(text);
    }
    publicvoidDeleteAll(Controlitem)
    {
      for(inti=0;i<item.Controls.Count;i++)
      {
        Controlvar=item.Controls[i];
        if(var.GetType().Equals(typeof(TextBox)))
        {
          Delete(varasTextBox);
        }
      }
    }
    publicvoidAutoCompleteClear()
    {
      foreach(AutoCompleteStringCollectionvarin_Source.Values)
      {        var.Clear();      }
      SqlCommandcmd=newSqlCommand("DeleteAutoComplete",conn);
      conn.Open();
      cmd.ExecuteNonQuery();
      conn.Close();
    }
    voidtext_Leave(objectsender,EventArgse)
    {
      TextBoxtext=senderasTextBox;
      if(text.Text=="")
        return;
      stringkey=text.Name;
      if(!_Source.ContainsKey(key))
      {
        _Source.Add(key,newAutoCompleteStringCollection());
      }
      if(!_Source[key].Contains(text.Text))
      {
        SqlCommandcmd=newSqlCommand("insertintoAutoCompleteselect'"+key.Replace("'","''")+"','"+text.Text.Replace("'","''")+"'",conn);
        conn.Open();
        cmd.ExecuteNonQuery();
        _Source[key].Add(text.Text);
        conn.Close();
      }
    }
  }
}



相关教程