VB.NET 2008/VB - 컨트롤

컨트롤 - CheckedListBox 컨트롤

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

 

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