Несуществующее значение в ComboBox

Имеем комбобокс, привязанный к некоему источнику данных. Видимый элемент списка - строка, невидимый - числовой код. Программа получает код выбранного элемента и как-то его использует. В комбобокс можно вводить свои значения, чтобы по подсказке быстро попасть на нужный элемент.

Проблема в следующем - если ввести строку отсутствующую в списке, то в невидимое значение SelectedValue попадает код для существующего элемента, первые символы которого совпадают с введенными.

Решается это очень простым, но неочевидным способом, надо изменить значения свойства DropDownStyle на DropDownList (из перечисления ComboBoxStyle). Теперь возможность ввода своих значений сохранится, но ввести можно будет только входящее в список значение и только если включена автоподсказка AutoCompleteMode вида Suggest или SuggestAppend. Правда при каждом вводе значения будет вызываться событие SelectedValueChanged, которое до этого вызывалась только по нажатии Enter.


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>