У меня есть ComboBox
в приложении winforms с этим кодом:
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
DataTable t = new DataTable();
t.Columns.Add("ID", typeof(int));
t.Columns.Add("Display", typeof(string));
for (int i = 1; i < 2000; i++)
{
t.Rows.Add(i, i.ToString("N0"));
}
comboBox1.DataSource = t;
comboBox1.ValueMember = "ID";
comboBox1.DisplayMember = "Display";
Затем я выполняю следующие шаги при открытии окна:
- Нажмите кнопку
ComboBox
drop down - отображает список элементов и выбирает текст вComboBox
- Введите "5", "1"... т.е. я хочу использовать автозаполнение для поиска 515, 516 и т.д.
- Вы увидите, что окно автозаполнения теперь отображается в верхней части выпадающего списка. Однако, если я нахожусь над ним, это скрытое выпадающее окно за окном автозаполнения, которое принимает события мыши, включая щелчок. Поэтому я думаю, что нажимаю на элемент автозаполнения, но на самом деле нажимаю на что-то совершенно случайное, которое я не вижу.
Является ли это ошибкой в ComboBox
? Я использую Windows 7, если это имеет значение. Я как-то неправильно настроил ComboBox
?
Обратите также внимание, что с помощью KEYBOARD используется раскрытие автозаполнения. Таким образом, клавиши со стрелками вверх/вниз используют переднее окно, но мышь использует обратное окно.