이전 사용자가 입력 한 값을 기반으로 텍스트 컨트롤의 자동 완성 라이브러리 또는 코드 조각


0

사용자의 이전 항목을 모두 기억하고 자동 완성 기능을 제공하는 텍스트 컨트롤에서 자동 완성 지원 라이브러리를 찾고 있습니다.

예를 들어 "최근 파일"의 경우 나는 http://www.genghisgroup.com/을 사용하며 훌륭하게 작동합니다. 이 목적을 위해 그런 것을 알고 있습니까?

업데이트 : 이것은 .NET Winforms 응용 프로그램이며 일반 텍스트 컨트롤을 사용하고 있습니다.

  0

링크에서 이것은 WinForms와 비슷합니까? 22 feb. 092009-02-22 14:30:15

  0

예, 질문도 업데이트되었습니다. 22 feb. 092009-02-22 14:45:14

1

.NET TextBox에는 자동 완성 기능이 내장되어 있습니다. 먼저 AutoCompleteMode 속성 (Suggest, Append 등)을 설정 한 다음 AutoCompleteSource를 선택합니다. 당신의 선택은 그위한 것입니다 : AllUrl

파일 시스템 HistoryList RecentlyUsedList AllSystemSources FileSystemDirectories CustomSource 없음 많은 ListItems 귀하의 경우에는

, 당신은 CustomSource를 사용하고 속성 년대 AutoCompleteCustomSource 컬렉션을 채우는 것 텍스트 상자에. 이전에 입력 한 값을 저장할 수있는 곳과 앱로드시, 그 값을 검색하고 AutoCompleteCustomSource를 채울 수있는 간단한 SqlCe 데이터베이스가 있어야합니다.

빠른 코드 샘플 :

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(); 
} 

나는 예제로 된 요일 사용 jsut,하지만 당신은 그 방법으로 데이터베이스를 조회하고 결과를 반환 할 수 있습니다.

  0

시도해 보겠습니다. "응용 프로그램 설정"에 저장하는 것은 어떻습니까? 그것은 지난 20 번의 진입을 위해해야합니다. 22 feb. 092009-02-22 17:07:00

  0

아, 20 개 정도만 저장하고 싶다면, 그렇다면 전체 데이터베이스가 필요하지 않습니다. 응용 프로그램 설정 또는 일반 XML 파일은 정상적으로 작동합니다. 22 feb. 092009-02-22 18:48:19


0

소스 코드를 다운로드하고 최근 파일을보십시오. 의심의 여지없이 그것이 어떤 유형의 영속 저장소 (데이터베이스, 파일 등)에 저장하고 그 정보를 사용하여 목록을 채우는 것입니다. 방금 기능을 속이고 파일 대신 단어에 초점을 맞춘 TextBox 용으로 만들었습니다.

나는 Genghis 소스를 보지 못했지만, 비슷한 기능을 가진 당신이 사용하는 컨트롤을 실행하고 그것을 속이는 것이 쉬울 것이라고 확신합니다. 이 작업을 수행 할 때 Genghis 그룹에 연락하여 제출하십시오. 이것이 오픈 소스를 지원하는 방법입니다.