[VB] 리스트박스에서 각 아이템의 체크박스에 체크 표시 하는 방법을 알아보자
- VB의 리스트박스에서 Style 속성을 “확인란(1)” 으로 설정하면,
- 체크박스가 있는 리스트 박스를 이용할 수 있어요.
- 코드상에서 각 아이템의 체크박스를 체크 하려면 Seleted(n) 을 True 로 설정 하면 됩니다.
VB(Visual Basic, 비주얼베이직)에서 리스트박스는 체크하는 아이템 형태(VB에서는 확인란으로 표시)로 사용 할 수 있습니다.
리스트박스의 속성에서 Style 을 확인란(1) 값으로 설정하면 아이템 왼쪽에 체크박스가 생기면서 사용자가 체크 할 수 있는 리스트박스가 됩니다.
이제 이 리스트박스의 각 아이템 체크박스를 코드상에서 체크하는 방법을 알아봅시다.
Selected(n) = True
결론부터 말하자면 리스트박스의 각 아이템 체크박스를 체크 하기 위해서는, 리스트박스의 Selected(n)
속성을 True
값으로 설정하면 됩니다. 여기서 n
은 리스트박스의 각 아이템 고유번호입니다.
만약 특정 아이템을 체크 해제 하고 싶다면 Selected(n)
의 값을 False
로 설정하면 됩니다.
간단한 예제
간단한 예제를 봅시다. 리스트박스(Lst)에 수많은 아이템이 있는데, 그 아이템들 중에 “0722” 라는 String(Str) 을 포함한 아이템을 체크 해야 하는 상황입니다.
Dim i as Double
Dim Str as String
Str = "0722"
For i = 0 to Lst.ListCount - 1
If InStr(1, Lst.List(i), Str) > 0 Then
Lst.Selected(i) = True
End If
Next i
리스트박스 아이템은 0 부터 시작
For i = 0 to Lst.ListCount - 1
...
Next i
혼동할 수 있는 부분입니다. 리스트박스에 담긴 아이템의 고유번호는 0 부터 시작합니다. 리스트박스의 아이템 개수는 .ListCount
속성으로 확인 할 수 있습니다.
예를들어 리스트박스에 10개의 아이템이 있다면, 아이템의 고유번호는 0~9 까지로 설정 될 것이고, ListCount
값은 10 입니다.
따라서 For
문을 0
에서 부터 ListCount - 1
까지 실행해야 합니다.
문자열이 포함되어 있다면 Seleted(i) 값을 True 로 설정
If InStr(1, Lst.List(i), Str) > 0 Then
Lst.Selected(i) = True
End If
이제 For
문이 실행 되면서 리스트박스의 아이템을 하나씩 검사합니다. InStr
함수로 각 아이템에 원하는 문자열(Str)이 포함 되어 있는지 확인하고, 포함되어 있다면 해당 아이템(i)의 Selected
값을 True
로 지정 하는 것입니다.
직접 해보면 생각보다 복잡하지 않습니다. 전역 함수나 프로시져로 만들어 놓고 여러곳에서 사용하면 간편합니다.
댓글 남기기