이전 방법으로 구현 했더니 콤보박스의 맨 앞 글자가 일치된 항목이 나오고, 동작이 좀 굼뜨고, 일관성이 좀 없는 듯해서 단어를 찿아서 매핑하여 보여주는 방식으로 변경을 할까 생각중~
일단 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 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩