В WinForms 2.0 ComboBox имеет функцию автозаполнения, которая отображает пользовательский выпадающий список только со значениями, которые начинаются с введенного текста.
Однако, если я хочу ограничить допустимые значения только теми, которые появляются в списке элементов ComboBox, я могу сделать это, установив для DropDownStyle
значение DropDownList
, что не позволяет пользователю вводить значение.
Однако теперь я не могу использовать функцию автозаполнения, которая требует ввода данных пользователем.
Есть ли другой способ ограничить ввод в список, но при этом разрешить использование функции автозаполнения? Обратите внимание, что я видел некоторые собственные решения для этого, но мне действительно нравится, как соответствующие элементы автозаполнения отображаются в раскрывающемся списке и сортируются, даже если исходный список может не быть.
РЕДАКТИРОВАТЬ: я думал только о проверке введенного значения, то есть о тестировании пользовательского ввода, если оно допустимо, например, в событии TextChanged
, или даже при использовании события Validating
. Тогда возникает вопрос: каково ожидаемое поведение? Я очищаю их значение (пустое значение также недопустимо), или я использую значение по умолчанию? Ближайшее совпадающее значение?
P.s. Есть ли другие теги, которые я мог бы добавить к этому вопросу?