Сегодня 1 января, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Справочник по C#
Справочник по C#
Голосов: 1
Адрес блога: http://www.csharpcoderr.com/
Добавлен: 2012-11-28 00:46:26
 

Автозаполнение в TextBox

2012-11-08 12:20:04 (читать в оригинале)


          Все кто активно пользуются интернетом и поисковыми системами не раз наблюдали, как в строке поиска при вводе текста предлагаются готовые варианты. Рассмотрим сегодня пример кода, как использовать коллекцию AutoCompleteStringCollection в качестве пользовательского источника для автоматического завершения текста в компоненте TextBox. Для работы нам понадобится добавить компонент на форму.

          В коде функции public Form1() после инициализации компонентов InitializeComponent() инициализируем новый экземпляр класса System.Windows.Forms.AutoCompleteStringCollection для того чтобы мы могли задать фрагменты теста которые будут предлагаться пользователю по мере совпадения с вводимым текстом. В приведенном ниже коде мы создадим коллекцию из названий месяцев:
var source = new AutoCompleteStringCollection();
source.AddRange(new string[]
        {
            "January",
            "February",
            "March",
            "April",
            "May",
            "June",
            "July",
            "August",
            "September",
            "October",
            "November",
            "December"
        });

Дальше мы будем работать со свойствами AutoCompleteCustomSource, AutoCompleteMode и AutoCompleteSource нашего компонента. Эти свойства используются для автоматического заполнения входных строк путем сравнения вводимых префиксов с префиксами всех строк в поддерживаемом источнике, который мы создали выше.

Теперь по порядку:

Указываем свойству AutoCompleteCustomSource нашего компонента коллекцию source:

textBox1.AutoCompleteCustomSource = source;
          Чтобы компонент при вводе текста обращался к коллекции, в свойстве AutoCompleteSource задаем значение AutoCompleteSource.CustomSource, указывающее источник полных строк, используемых для автоматического заполнения.
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
Теперь нам остается только задать режим для возможности автоматического завершения, есть четыре режима:
  • None - Отключает возможность автоматического завершения в элементах управления ComboBox и TextBox.
  • Suggest - Выводит вспомогательный раскрывающийся список, сопоставленный элементу управления, в котором выполняется правка. Этот список содержит одну или несколько предложенных строк завершения.
  • Append - Добавляет остаток строки с наибольшей вероятностью совпадения в существующие знаки с выделением добавленных знаков.
  • SuggestAppend - Применяет как параметр Suggest, так и параметр Append.

Мы выберем SuggestAppend:

textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
Ну вот и все, смотрите полный пример кода ниже:
public Form1()
{
    InitializeComponent();
   
    var source = new AutoCompleteStringCollection();
    source.AddRange(new string[]
            {
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December"
            });

    textBox1.AutoCompleteCustomSource = source;
   
    textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

    textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
Скриншот тестовой программы:

Тэги: form, window

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»
Изменения рейтинга
Категория «Новости»
Взлеты Топ 5
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.