Большинство разработчиков знакомы с фичей авто дополнения текста в браузерах, поисковых компонентах и тд. Функция автоматического заполнения, когда вы начинаете ввод некоторых символов в элементе управления и соответствующие данные загружаются автоматически.
В VisualStudio некоторые компоненты поддерживают эту функцию, в том числе TextBox и ComboBox.
Используя эти функции, мы можем построить Internet Explorer - подобное авто дополнение в нашем приложении.
Например если выставить автодополнение URL я набрал "po" в TextBox:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Свойства AutoCompleteSource и AutoCompleteMode которые есть у компонентов TextBox и ComboBox обеспечивают функцию авто дополнения. Их можно установить как в режиме разработки так и во время выполнения. Если нажать на AutoCompleteSource вы увидите все доступные опции в выпадающем списке.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Опции AutoCompleteMode:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Так же их можно установить во время выполнения следующим кодом:
Перечисление AutoCompleteSource имеет следующие члены:
AllSystemSources Указывает FileSystem и AllUrl в качестве источника. Это значение по умолчанию, если AutoCompleteMode присвоено значение, отличное от значения по умолчанию.
AllUrl Указывает HistoryList и RecentlyUsedList в качестве источника.
CustomSource Определяет строки из встроенного AutoCompleteStringCollection в качестве источника.
FileSystem Указывает файловую систему в качестве источника.
FileSystemDirectories Указывает, что только имена каталогов, а не имена файлов автоматически будут завершены.
HistoryList Включает url-адреса в список журнала.
ListItems Указывает, что элементы ComboBox представляют источник.
None Указывает, что в настоящий момент нет AutoCompleteSource. Это значение по умолчанию для AutoCompleteSource.
RecentlyUsedList Использовать список последних использованных ссылок.
Перечисление AutoCompleteMode содержит:
Append - добавляет остаток из наиболее вероятных кандидатов строки к существующим символам, выделяя добавленную часть.
None - отключает функцию автоматического дополнения для компонента ComboBox или TextBox.
Suggest - Отображает вспомогательный раскрывающийся список, который связан с компонентом. Этот список заполнен предлагаемыми значениями для дополнения.
SuggestAppend - варианты Suggest и Append вместе.
У разработчика есть возможность создать собственный источник данных для дополнения. Это можно сделать как дизайнерскими средствами VisualStudio:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Так и програмно:
Код:
AutoCompleteStringCollection data = new AutoCompleteStringCollection();
data.Add("Цой жив");
data.Add("Цой мертв");
data.Add("Ленин жив"); // вариант который не подходит и не отобразится
comboBox1.AutoCompleteCustomSource = data;
Теперь, если нажать "Ц" TextBox выведет:
[Ссылки могут видеть только зарегистрированные пользователи. ]