在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)
{ }
}
答案 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);
}
}
}