How to AutoComplete TextBox or ComboBox in Winforms

  1. namespace AutoCompleteTextBox  
  2. {  
  3.     public partial class frmAuto : Form  
  4.     {  
  5.         public string strConnection = ConfigurationManager.AppSettings["ConnString"];  
  6.         AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();  
  7.         public frmAuto()  
  8.         {  
  9.             InitializeComponent();  
  10.         }  
  11.         private void frmAuto_Load(object sender, EventArgs e)  
  12.         {  
  13.             SqlDataReader dReader;  
  14.             SqlConnection conn = new SqlConnection();  
  15.             conn.ConnectionString = strConnection;  
  16.             SqlCommand cmd = new SqlCommand();  
  17.             cmd.Connection = conn;  
  18.             cmd.CommandType = CommandType.Text;  
  19.             cmd.CommandText = "Select distinct [Name] from [Names] order by [Name] asc";  
  20.             conn.Open();  
  21.             dReader = cmd.ExecuteReader();  
  22.             if (dReader.HasRows == true)  
  23.             {  
  24.                 while (dReader.Read())  
  25.                     namesCollection.Add(dReader["Name"].ToString());  
  26.             }  
  27.             else  
  28.             {  
  29.                 MessageBox.Show("Data not found");  
  30.             }  
  31.             dReader.Close();  
  32.             txtName.AutoCompleteMode = AutoCompleteMode.Suggest;  
  33.             txtName.AutoCompleteSource = AutoCompleteSource.CustomSource;  
  34.             txtName.AutoCompleteCustomSource = namesCollection;  
  35.         }  
  36.         private void btnCancel_Click(object sender, EventArgs e)  
  37.         {  
  38.             Application.Exit();  
  39.         }  
  40.         private void btnOk_Click(object sender, EventArgs e)  
  41.         {  
  42.             MessageBox.Show("Hope you like this example");  
  43.         }  
  44.     }  
  45. }