CheckedListBox 컨트롤은 ListBox 컨트롤을 확장한다.
이 컨트롤은 목록 상자의 거의 모든 기능을 가지고 있을 뿐만 아니라 목록의 항목 옆에 확인 표시를 할 수 있다. 두 컨트롤의 또 다른 차이점은 확인 목록 상자만 DrawMode.Normal 을 지원한다는 것과 확인 목록 상자에서는 한 항목만 선택하거나 아무 항목도 선택하지 않을 수 있다는 것이다. 선택된 항목은 폼에서 강조 표시되며 이 항목은 확인 표시된 항목과는 다르다.
확인 목록 상자에서 문자열 컬렉션 편집기를 사용하여 런타임에 항목을 추가하거나 Items 속성을 사용하여 런타임에 컬렉션의 항목을 동적으로 추가할 수 있다.
CheckedListBox 컨트롤에서 데이터를 표시할 때는 CheckedItems 속성에 저장된 컬렉션을 순환하거나 GetItemChecked 메서드를 사용하여 목록을 조사함으로써 선택된 항목을 확인할 수 있다. GetItemChecked 메서드는 항목 인덱스 번호를 인수를 취하여 true 또는 false를 반환한다. 기대와 달리, SelectedItems 및 SelectedIndices 속성은 선택된 항목이 아니라, 강조 표시된 항목을 확인한다.
CheckedItems 컬렉션은 0부터 시작하므로 0에서 시작하여 해당 컬렉션을 단계적으로 수행한다. 이 메서드는 전체 목록이 아니라 선택된 항목의 목록에서 해당 항목 번호를 알려 준다. 따라서 목록의 첫 번째 항목은 선택되어 있지 않고 두 번째 항목이 선택되어 있는 경우 아래 코드는 "Checked Items 1 = MyListItem2"와 같은 텍스트를 표시한다.
' Determine if there are any items checked.
If CheckedListBox1.CheckedItems.Count <> 0 Then
' If so, loop through all checked items and print results.
Dim x As Integer
Dim s As String = ""
For x = 0 To CheckedListBox1.CheckedItems.Count - 1
s = s & "Checked Item " & (x + 1).ToString & " = " & CheckedListBox1.CheckedItems(x).ToString & ControlChars.CrLf
Next x
MessageBox.Show(s)
End If
Items 컬렉션은 0부터 시작하므로 0에서 시작하여 해당 컬렉션을 단계적으로 수행하며 각 항목에 대한 GetItemChecked 메서드를 호출한다. 이 메서드는 사용자에게 전체 목록 상의 항목 번호를 제공한다. 따라서 목록의 첫 번째 항목이 선택되어 있지 않고 두 번째 항목이 선택되어 있는 경우 해당 메서드는 "Item 2 = MyListItem2"와 같은 텍스트를 표시한다.
Dim i As Integer
Dim s As String
s = "Checked Items:" & ControlChars.CrLf
For i = 0 To (CheckedListBox1.Items.Count - 1)
If CheckedListBox1.GetItemChecked(i) = True Then
s = s & "Item " & (i + 1).ToString & " = " & CheckedListBox1.Items(i).ToString & ControlChars.CrLf
End If
Next
MessageBox.Show(s)
'VB.NET 2008 > VB - 컨트롤' 카테고리의 다른 글
컨트롤 - ListBox 컨트롤 (0) | 2011.04.25 |
---|---|
컨트롤 - ComboBox 컨트롤 (0) | 2011.04.25 |
컨트롤 - CheckBox 컨트롤 (0) | 2011.04.25 |
컨트롤 - Button 컨트롤 (0) | 2011.04.25 |
컨트롤 - BackgroundWorker 구성 요소 (0) | 2011.04.25 |