TextBox自动完成上下键Cant在列表中选择项目

本文关键字:列表 选择 项目 Cant 上下 TextBox | 更新日期: 2023-09-27 18:21:15

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

请建议。。

这里是我的代码。。。

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)
            { }
        }

TextBox自动完成上下键Cant在列表中选择项目

为什么不把它放在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);
            }
        }
  }