Автозавершение при вводе данных в textbox

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

Создадим новый проект типа Windows Forms Application на языке c#.

Добавим на форму два элемента управления: Button (кнопка) и TextBox (текстовое поле).

windows form

Для реализации автоматического завершения выполним следующие действия:

1. Установим свойство MultiLine, элемента управления textBox, в значение false.

2. Создадим новый метод CreateAutoCompleteList.

3. Создадим список слов для автозавершения.

В данном примере для хранения слов будет использоваться xml файл, данные из которого будут считываться, при запуске приложения, в специальную встроенную коллекцию типа AutoCompleteStringCollection.

Структура xml файла приведена на картинке.

xml файл

4. С помощью свойства AutoCompleteMode выберем режим автоподстановки:

Append — первое найденное (совпавшее) значение в коллекции AutoCompleteStringCollection.

автозавершение


Набираем команду codeby webinar

Набираем команду для организации и проведения вебинаров Подробнее ...

Suggest — используется при возможном нахождении нескольких значений с одинаковым первым символом, например: Вася и Ваня. В таком случае пользователю будет выведен список возможных вариантов для самостоятельного выбора нужного значения.

textbox

SuggestAppend — позволяет использовать оба выше описанных режима.

Поиск совпадений в коллекции производится по первому символу слова введенного в текстовое поле.

5. С помощью свойств AutoCompleteSource и AutoCompleteCustomSource укажем источник, в котором нужно искать слова для автоматического завершения.

При работе со встроенным источником типа AutoCompleteStringCollection выбираем значение CustomSource перечисления AutoCompleteSource.

В результате получаем:

Для работы с классом XDocument необходимо добавить ссылку на пространство имён System.Xml.Linq.

Созданный метод будет выполняться во время загрузки формы, поэтому для начала подписываемся на событие Form_Load, а затем в обработчике данного события вызываем метод CreateAutoCompleteList:

Читайте также:


Получи 30.000 рублей от codeby

Мы запустили конкурс для авторов, в котором может принять участие любой желающий. За первое место - 7500 руб., второе - 5000, третье 2500. Главный приз 30.000 рублей вы получаете независимо от места в конкурсе. Подробнее на форуме codeby ...

Похожие темы

Textbox ввод только цифр Как ввести в TextBox только цифры? Из этой небольшой статьи вы узнаете, как разрешить ввод только цифр в элемент управления Textbox. 1. Выбираем э...
Как удалить раздел реестра, используя язык c#... Как удалить раздел реестра Windows, используя язык c# В этой статье продолжаем работать с реестром Windows программным путем, сегодня Вы узнаете, как...
c# Как программно добавить контрол на форму... c# Как программно добавить контрол на форму В этой статье рассмотрим процесс программного добавления визуального элемента управления (Control) на фор...
Как добавить XML файл в Solution Explorer... Как добавить XML файл в проект В окне Solution Explorer нажмите правую кнопку мыши на имени текущего проекта. В появившемся контекстном меню выберите...
Control WebBrowser. Часть 2: События Control WebBrowser. Часть 2: События В предыдущей статье было продемонстрировано, как получить данные в виде html страницы и вывести их в окно элемен...