#c# #drop-down-menu #match
#c# #выпадающее меню #совпадение
Вопрос:
У меня есть поле со списком в режиме выпадающего списка. Допустим, содержимое:
1
2
5
91
92
99
205
В приложении Forms я хочу иметь возможность сосредоточиться на элементе управления и ввести 205, а затем выбрать 205. Вместо этого я нажимаю 2 — он переходит к 2. Я нажимаю 0, ничто не начинается с 0, поэтому оно остается на 2. Я нажимаю 5, он переходит к 5. Он смотрит только на последнюю нажатую клавишу.
То же самое, если я наберу 99, он перейдет к первым 9 совпадениям — 91, затем ко вторым 9 совпадениям — 92. Но я хотел, чтобы он был равен 99.
С другой стороны, в любом браузере, если вы находитесь в выпадающем списке и вводите последовательность символов, он рассмотрит их все вместе и перейдет к полному совпадению. (Такое же поведение в папках Windows, если вы вводите имя файла.) Последовательность обычно сбрасывается после нескольких секунд отсутствия ввода.
Как я могу заставить выпадающий список моих форм вести себя как выпадающий список браузера?
Комментарии:
1. Вам нужен
autocompletebox
, а неcombobox
— вам понадобится сторонний элемент управления — codeproject.com/KB/combobox/AutoCompleteComboBox.aspx возможно?2. Попробуйте установить для DropDownStyle значение DropDown
Ответ №1:
Установите для параметра AutoCompleteMode значение Suggest, для параметра AutoCompleteSource — значение ListItems, а для стиля — значение DropDownList.
Комментарии:
1. Спасибо! Я знал, что должен быть простой способ.
Ответ №2:
Я бы также добавил, что вам нужно установить для свойства «FlatStyle» значение «Popup», чтобы сделать его более похожим на веб-поле со списком.
Комментарии:
1. Пожалуйста, используйте раздел «Комментарии» для комментариев. Спасибо!