VB.NET 2008/VB - 컨트롤

컨트롤 - ComboBox 컨트롤

본클라쓰 2011. 4. 25. 09:55

ComboBox 컨트롤은 드롭다운 콤보 상자에 데이터를 표시하는데 사용됩니다.

 

[ ComboBox 출력예 ]

 

ComboBox는 기본적으로 두 부분으로 나타납니다. 윗 부분은 사용자가 목록 항목을 입력할 수 있는 텍스트 상자이며, 아랫 부분은 사용자가 항목을 선택할 수 있는 항목 목록을 표시하는 목록 상자입니다.

 

일반적으로 콤보 상자는 추천 목록이 있는 경우가 적합하고 ListBox(목록상자)는 목록에 대해 항목 입력을 제한하려는 경우에 접합합니다. 콤보 상자에는 텍스트 상자 필드가 있으므로 목록에 없는 항목도 입력할 수 있습니다. 또한 콤보 상자를 사용하면 폼의 공간을 절약할 수 있습니다. 콤보 상자는 아래쪽 화살표를 클릭하기 전까지 전체 목록이 표시되지 않기 때문에 목록 상자를 사용하기에는 부적합한 좁은 공간에도 쉽게 맞출 수 있습니다.

 

 

 

DropDownStyle 속성

 

DropDownStyle 속성이 DropDownList로 설정되어 있는 경우 항목의 첫 글자만 입력하면 컨트롤에 해당 항목이 자동으로 선택된다. 또한 Simple로 설정된 경우 전체 목록이 표시되어 콤보 상자가 목록 상자보다 더 많은 공간을 차지한다.

 

 

 

항목 추가, 삭제

 

ComboBox 컨트롤에서 항목을 추가하거나 삭제하려면 Add, Insert, Clear 또는 Remove 메서드를 사용합니다. 또한 디자이너에서 Items 속성을 사용하여 항목을 목록에 추가할 수도 있습니다.

 

 

항목을 추가하려면 Add 메서드를 사용하여 목록에 문자열이나 개체를 추가합니다. 컬렉션은 Items 속성을 사용하여 참조합니다.

 

ComboBox1.Items.Add("Tokyo")

 

 

Insert 메서드를 사용하여 목록에서 원하는 지점에 문자열이나 개체를 삽입합니다.

 

ComboBox1.Items.Insert(0, "Copenhagen")

 

 

또는, 전체 배열을 Items 컬렉션에 할당합니다.

 

Dim ItemObject(9) As System.Object

Dim i As Integer

 

For i = 0 To 9

    ItemObject(i) = "Item" & i

Next i

ComboBox1.Items.AddRange(ItemObject)

 

 

항목을 제거하려면 Remove 또는 RemoveAt 메서드를 호출하여 항목을 삭제합니다. Remove에는 제거할 항목을 지정하는 인수가 하나 있습니다. RemoveAt은 지정된 인덱스 번호를 사용하여 항목을 제거합니다.

 

' To remove item with index 0

Combox1.Items.RemoveAt(0)

' To remove "Tokyo" item

Combox1.Items.Remove("Tokyo")

 

 

모든 항목을 제거하려면 Clear 메서드를 호출하여 컬렉션에서 모든 항목을 제거한다.

 

Combox1.Items.Clear()

 

 

 

선택된 항목을 검색

 

ComboBox의 SelectedIndex 속성은 목록에서 선택한 항목에 해당하는 정수 값을 반환합니다. 코드에서 SelectedIndex 값을 변경하여 선택한 항목을 프로그래밍 방식으로 변경할 수도 있습니다. 그러면 목록에 해당 항목이 콤보 상자의 텍스트 상자 부분에 나타납니다.

 

선택된 항목이 없는 경우 SelectedIndex의 값은 -1입니다. 목록의 첫 번째 항목을 선택한 경우 SelectedIndex의 값은 0입니다. SelectedItem 속성은 SelectedIndex와 비슷하지만 일반적으로 문자열 값인 항목 자체를 반환합니다. Count 속성은 목록의 항목 개수를 반영하여 SelectedIndex가 0부터 시작하기 때문에 Count 속성의 값은 최대 SelectedIndex 값보다 항상 1이 더 큽니다.

 

 

 

ComboBox의 자동 완성 기능

 

ComboBox의 자동 완성 기능이 작동되는 방법을 제어하는 옵션을 가져오거나 설정할 때는 AutoCompleteMode 속성을 사용합니다.

 

AutoCompleteMode는 AutoCompleteSource 속성을 사용하여 ComboBox를 만들면, 관리되는 소스에서 있는 모든 문자열의 접두사와 입력되는 접두사를 비교하여 입력 문자열을 자동으로 완성합니다. 자동 완성 기능은 URL, 주소, 파일 이름, 명령 등 자주 입력하는 ComboBox 컨트롤에 유용합니다. 만약 중복된 항목이 있는 경우 자동 완성 기능이 예상과 다르게 작동할 수 있습니다.

 

AutoCompleteMode를 SuggestAppend로 설정하고 AutoCompleteSource를 ListItems로 설정하면 다음과 같이 동작합니다.

 

1) 문자열 목록이 비어 있는 경우에는 백스페이스 또는 Delete키를 눌러도 아무 작업도 수행되지 않는다.

2) 백스페이스 키를 1초 미만으로 짧게 누르면 이전 항목이 선택된다. 문자열 목록이 비어 있는 경우에는 아무것도 선택되지 않는다.

3) 백스페이스 키를 1초 이상 길게 누르면 첫 번재 항목이 선택된다.

4) Delete 키를 누르면 첫 번째 항목이 선택된다.

 

 

 

 

'VB.NET 2008 > VB - 컨트롤' 카테고리의 다른 글

컨트롤 - MonthCalendar 컨트롤  (0) 2011.04.25
컨트롤 - ListBox 컨트롤  (0) 2011.04.25
컨트롤 - CheckedListBox 컨트롤  (0) 2011.04.25
컨트롤 - CheckBox 컨트롤  (0) 2011.04.25
컨트롤 - Button 컨트롤   (0) 2011.04.25