Подтвердить что ты не робот

Выбор элемента в comboBox путем ввода

У меня есть поле со списком, в котором есть сотни элементов. Пользователь должен иметь возможность вводить текст в поле со списком. Пока пользователь вводит текст, элемент, начинающийся с введенного значения, должен быть выбран или указан. Пользователь должен иметь возможность печатать непрерывно. My ComboBox DropDownStyle - это DropDownList

Например: Выбирая имя в comboBox, набрав, оно позволяет только одну букву. Поэтому, если я наберу "А", он перейдет к первой букве, начинающейся с "А". когда я набираю текст, выбранный элемент со списком изменяется в соответствии с текущим нажатием клавиши. если я нажимаю "As", combobox просматривает элементы, начинающиеся с "s".

Я использую Win Forms.

спасибо заранее.

4b9b3361

Ответ 1

comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

Ответ 2

Вам нужно подключиться к событию TextChanged. Когда текст изменяет, фильтрует список (используя DataView) и берет текст первого результат, установив для этого текст поля со списком. Вы должны были бы иметь конечно, проверьте свой обработчик, чтобы определить, следует ли обрабатывать событие (когда вы меняете текст, будет запущено другое событие TextChanged). Конечно, вы также хотите выделить текст, который они набрали, и поместите каретку в нужное положение.