반응형
이전 방법으로 구현 했더니 콤보박스의 맨 앞 글자가 일치된 항목이 나오고, 동작이 좀 굼뜨고, 일관성이 좀 없는 듯해서 단어를 찿아서 매핑하여 보여주는 방식으로 변경을 할까 생각중~
일단 MSDN 소스부터 살펴보면
ComboBox 컨트롤에서 Visual C#에 대 한 텍스트 자동 완성 기능을 제공 하는 방법
값을 입력 하거나 목록에서 값을 클릭 하 여 ComboBox 컨트롤에 데이터를 입력할 수 있습니다. 값을 입력 하면 그 값의 처음 몇 자만 입력 하 고 값 목록에서 가장 가까운 일치 하는 항목을 자동으로 표시 하는 ComboBox 컨트롤 빠릅니다. 많은 Microsoft 제품은이 기능을 사용 합니다. 예를 들어, Microsoft Money이이 기능을 사용 하 여 검사를 작성 하는 경우 수취인 값을 선택 합니다. Microsoft Internet Explorer 웹 주소를 입력 하는 경우이 기능을 사용 합니다. Visual Studio.NET IntelliSense에 대해이 기능을 사용합니다. 코드의 다음 줄을 입력 하는 경우이 기능을 사용을 볼 수 있습니다.
System.cons
이 줄이 자동으로 입력 "System.Console" 표시 됩니다. 이 자동 텍스트 완성 기능은 시간 저장 하 고 데이터 입력 오류를 방지 하는 데 도움이 있습니다. 이 문서에서는 Visual C#.NET 응용 프로그램에서이 기능을 구현 하는 방법을 보여 줍니다.
샘플 코드를 사용 하는 방법
- Visual C#에서 새 Windows 응용 프로그램 프로젝트를 만듭니다. Form1 자동으로 만들어집니다.
- ComboBox 컨트롤을 Form1에 추가하십시오.
- ComboBox 컨트롤을 form1에 추가 합니다.
// Add some items to the ComboBox list. this.comboBox1.Text = ""; this.comboBox1.Items.Add("a"); this.comboBox1.Items.Add("aaa"); this.comboBox1.Items.Add("combo"); this.comboBox1.Items.Add("combobox"); this.comboBox1.Items.Add("combobox test"); this.comboBox1.Items.Add("common"); this.comboBox1.Items.Add("common dialog");
- ComboBox 컨트롤 KeyUp 이벤트에 다음 코드를 추가합니다:노트 해당 코드는 Visual Studio 2005에서 변경해야 합니다. Windows Forms 프로젝트를 만들 때 Visual C# 한 폼을 프로젝트에 기본적으로 추가됩니다. 이 폼은 Form1을 이라고 합니다. 폼을 나타내는 두 파일의 Form1.cs 및 Form1.designer.cs가 지정됩니다. Form1.cs 있는 코드를 작성할 수 있습니다. Designer.cs 파일은 Windows Forms 디자이너에 컨트롤을 추가하여 수행된 모든 작업을 구현하는 코드를 기록하는 위치 있습니다. Windows Forms 디자이너를 Visual C# 2005에 [NULL]에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 방문하십시오.
int index; string actual; string found; // Do nothing for certain keys, such as navigation keys. if ((e.KeyCode == Keys.Back) || (e.KeyCode == Keys.Left) || (e.KeyCode == Keys.Right) || (e.KeyCode == Keys.Up) || (e.KeyCode == Keys.Down) || (e.KeyCode == Keys.Delete) || (e.KeyCode == Keys.PageUp) || (e.KeyCode == Keys.PageDown) || (e.KeyCode == Keys.Home) || (e.KeyCode == Keys.End)) { return; } // Store the actual text that has been typed. actual = this.comboBox1.Text; // Find the first match for the typed value. index = this.comboBox1.FindString(actual); // Get the text of the first match. if (index > -1) { found = this.comboBox1.Items[index].ToString(); // Select this item from the list. this.comboBox1.SelectedIndex = index; // Select the portion of the text that was automatically // added so that additional typing replaces it. this.comboBox1.SelectionStart = actual.Length; this.comboBox1.SelectionLength = found.Length; }
머 요정도로 하고 이걸 속담 풀이 프로그램에 적용해보자.
반응형
'개발자 > C#' 카테고리의 다른 글
Code Review Checklist and Guidelines for C# Developers (0) | 2013.06.04 |
---|---|
C# Audio Tutorial 1 - Wave File with NAudio (0) | 2013.03.26 |
폼의 제목변경 코드에서 (0) | 2012.10.16 |
파일의 재구성~ 파일 이름 다루고, 파일 구성을 바꾸기 (0) | 2012.10.08 |
c# 콤보박스 자동완성 기능을 구현 - 리스트박스,텍스트박스에서도 동일한 원리 (1) | 2012.09.26 |
Infrasound 관측망과 인공발파 식별연구 (0) | 2012.07.29 |
C# 파일 없으면 만들어 쓰고 있으면 한줄씩 읽어오는 코드 (1) | 2012.07.20 |
정수에서 1이 설정된 비트(Bit) 수 세기 (0) | 2012.07.17 |
더욱 좋은 정보를 제공하겠습니다.~ ^^