TextBox自动完成向上和向下键不能选择列表中的项目

时间:2013-07-04 16:20:22

标签: c# .net winforms

在C#Winforms中,我有一个带有AutoCompleteMode的文本框。当用户键入一些字母时,建议列表会正确显示。如果使用(键盘)向上和向下键选择列表中的项目,则无法选择项目。如果我选择平均值,它将获得列表中的第一项..

请建议..

我的代码......

private void txt_Name_TextChanged(object sender, EventArgs e)
        {
            try
            {
                SqlDataReader datareader = qu.GetValue("English_Short");
                AutoCompleteStringCollection local = new AutoCompleteStringCollection();
                if (datareader.HasRows == true)
                {
                    while (datareader.Read())
                        local.Add(datareader["English_Short"].ToString());
                }
                txt_Name.AutoCompleteMode = AutoCompleteMode.Suggest;
                txt_Name.AutoCompleteSource = AutoCompleteSource.CustomSource;
                txt_Name.AutoCompleteCustomSource = local;
            }
            catch (Exception)
            { }
        }

1 个答案:

答案 0 :(得分:1)

为什么不把它放在Form Load事件而不是Text Changed:

  private void Form1_Load(object sender, EventArgs e)
  {

      try
            {
                SqlDataReader datareader = qu.GetValue("English_Short");
                AutoCompleteStringCollection local = new AutoCompleteStringCollection();
                if (datareader.HasRows == true)
                {
                    while (datareader.Read())
                        local.Add(datareader["English_Short"].ToString());
                }
                txt_Name.AutoCompleteMode = AutoCompleteMode.Suggest;
                txt_Name.AutoCompleteSource = AutoCompleteSource.CustomSource;
                txt_Name.AutoCompleteCustomSource = local;
            }
            catch (Exception ex)
            { 
              MessageBox.Show(ex.Message);
            }
        }

  }