Библиотека или фрагмент кода для автозаполнения в текстовом управлении на основе предыдущих введенных пользователем значений


0

Я ищу библиотеку для поддержки Autocomplete в текстовых элементах управления, которая запоминает все предыдущие записи пользователя и предоставляет для нее автоматическую полную поддержку.

Например, для «последних файлов» я использую http://www.genghisgroup.com/, и он отлично работает. Знаете ли вы что-то подобное для этой цели?

UPDATE: Это приложение .NET Winforms, и я использую обычный текстовый контроль.

  0

Из-за ссылки это звучит как WinForms? 22 фев. 092009-02-22 14:30:15

  0

да, обновил вопрос. 22 фев. 092009-02-22 14:45:14

1

Встроенный .NET TextBox - это функция автозаполнения. Сначала вы устанавливаете свойство AutoCompleteMode («Предложить», «Добавить» и т. Д.), А затем вы выбираете AutoCompleteSource. Ваш выбор для этого являются:

FileSystem HistoryList RecentlyUsedList AllUrl AllSystemSources FileSystemDirectories CustomSource None ListItems

В вашем случае, вы будете использовать CustomSource, а затем заполнить AutoCompleteCustomSource Коллекцию это свойство в текстовом поле. Я предлагаю иметь простую базу данных SqlCe, где вы можете хранить значения, введенные пользователем в прошлом, а затем, когда приложение загружается, извлекает эти значения и заполняет AutoCompleteCustomSource.

Быстрый пример кода:

private void button1_Click(object sender, EventArgs e) 
{ 
    this.textBox1.AutoCompleteMode = AutoCompleteMode.Suggest; 
    this.textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; 

    string[] items = GetListForCustomSource(); 
    this.textBox1.AutoCompleteCustomSource.AddRange(items); 

} 

private string[] GetListForCustomSource() 
{ 
    var result = new List<string>(); 

    foreach(var value in Enum.GetNames(typeof(DayOfWeek))) 
    { 
     result.Add(value); 
    } 

    return result.ToArray(); 
} 

Я использовал DayOfWeek этого нужно просто в качестве примера, но вы можете запросить базу данных в этом методе, и возвращать результаты.

  0

Я попробую. Как их хранить в «Настройках приложений»? Это должно быть сделано для последних 20 записей или около того. 22 фев. 092009-02-22 17:07:00

  0

О, если вы хотите хранить только 20 или около того, то да, для этого вам не нужен полный дБ. Параметры приложения или просто обычный XML-файл будут очень хорошими. 22 фев. 092009-02-22 18:48:19


0

Загрузите исходный код и посмотрите последние файлы. Несомненно, он хранит в какой-то форме постоянное хранилище (базу данных, файл и т. Д.) И использует эту информацию для заполнения списка. Вы просто обманываете функциональность и делаете ее для TextBox, который ориентирован на слова вместо файлов.

Я не смотрел на источник Чинги, но я уверен, что достаточно легко пройти через используемый вами элемент управления, имеющий аналогичную функциональность и обмануть его. Когда вы это сделаете, обратитесь в группу Чингис и предложите ее в качестве представления. Так мы поддерживаем открытый исходный код.