Visual Basic 6.0 사용자를 위한 ListBox 컨트롤

업데이트: 2007년 11월

Visual Basic 6.0의 ListBox 컨트롤은 Visual Basic 2008에서 ListBox 컨트롤 또는 CheckedListBox 컨트롤로 대체되었습니다. 일부 속성, 메서드, 이벤트 및 상수의 이름이 다르고 경우에 따라서는 동작도 다릅니다.

개념적 차이

ListBox 선택

Visual Basic 6.0에서 ListBox 컨트롤의 Style 속성은 각 텍스트 항목 옆에 확인란을 표시할지 여부를 결정합니다. MultiSelect 속성이 False로 설정되어 있는 경우에도 옆에 있는 확인란을 선택하면 ListBox에서 여러 항목을 선택할 수 있습니다. 항목의 선택 상태를 프로그래밍 방식으로 확인하는 방법은 없습니다. 이러한 기능이 필요한 경우 대신 ListView 컨트롤을 사용해야 합니다.

Visual Basic 2008에서는 새 CheckedListBox 컨트롤이 각 항목 옆에 확인란을 표시합니다. ListBox 컨트롤에서는 더 이상 확인란을 표시할 수 없습니다. CheckedListBox 컨트롤을 사용하면 CheckedListBox.CheckedItemCollection 컬렉션을 통해 각 항목의 선택 상태를 프로그래밍 방식으로 확인할 수 있습니다.

Columns 속성

Visual Basic 6.0에서 Columns 속성은 표시할 열 수를 지정하는 정수를 취했습니다.

Visual Basic 2008에서 MultiColumn 속성은 부울 값을 취하며 ColumnWidth 속성은 픽셀 단위로 너비를 지정하는 정수를 취합니다. ListBox 컨트롤의 너비가 런타임에 변경되는 경우 각 열에 대한 ColumnWidth 속성을 설정해야 할 수도 있습니다.

ItemCheck 이벤트

Visual Basic 6.0 ListBox 컨트롤에서는 ItemCheck 이벤트가 발생할 때 이미 확인 상태가 변경되지만

Visual Basic 2008CheckedListBox 컨트롤에서는ItemCheck 이벤트가 발생할 때 확인 상태가 변경되지 않습니다. 이벤트에 전달되는 ItemCheckEventArgs 인수에서 보류 중인 값을 얻을 수 있습니다.

ListBox 컨트롤에 대한 코드 변경 사항

다음 예제에서는 Visual Basic 6.0과 Visual Basic 2008 간 코딩 기술의 차이점을 보여 줍니다.

ListBox 컨트롤에서 항목을 추가하고 제거하는 방법에 대한 코드 변경 사항

다음 코드에서는 ListBox 항목을 추가하고 제거하는 방법을 보여 줍니다.

' Visual Basic 6.0
' Add an item at the end of the list.
List1.AddItem "Tokyo"
' Insert an item at the top of the list.
List1.AddItem "Copenhagen", 0
' Remove the first item.
List1.RemoveItem 0
'Visual Basic
' Add an item at the end of the list.
ListBox1.Items.Add("Tokyo")
' Insert an item at the top of the list.
ListBox1.Items.Insert(0, "Copenhagen")
' Remove the first item.
ListBox1.Items.RemoveAt(0)

ListBox 컨트롤에서 특정 항목에 액세스하는 방법에 대한 코드 변경 사항

다음 코드에서는 ListBox 항목의 값을 반환하는 방법을 보여 줍니다.

' Visual Basic 6.0
Private Function GetItemText(i As Integer) As String
   ' Return the text of the item using the index:
   GetItemText = ListBox1.List(i)
End Function
' Visual Basic
Private Function GetItemText(ByVal i As Integer) As String
   ' Return the text of the item using the index:
   GetItemText = CStr(ListBox1.Items(i))
End Function

CheckedListBox 컨트롤에서 선택된 항목을 확인하는 방법에 대한 코드 변경 사항

다음 코드에서는 CheckedListBox 컨트롤에서 항목 선택 상태를 확인하는 방법을 보여 줍니다.

' Visual Basic 6.0
' The Visual Basic 6.0 ListBox control didn't support this scenario,
' a ListView control had to be used instead.
Dim s As String
Dim i As Integer
' Loop through all items
For i = 1 To ListView1.ListItems.Count
   ' If an item is checked, add it to the string
   If ListView1.ListItems(i).Checked = True Then
      s = s & "Checked Item" & CStr(i) & " = " & _
ListView1.ListItems(i) & vbCrLf
   End If
Next
' Determine if any items are checked.
If s <> "" Then
    MsgBox s
End If
' Visual Basic
' 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 " & CStr(x + 1) & " = " & _
      CStr(CheckedListBox1.CheckedItems(x)) & ControlChars.CrLf
  Next x
  MessageBox.Show(s)
End If

ListBox 컨트롤 속성, 메서드, 이벤트에 해당하는 요소

다음 표에서는 Visual Basic 6.0 속성, 메서드, 이벤트 및 이에 해당하는 Visual Basic 2008 요소를 보여 줍니다. 이름과 동작이 같은 속성, 메서드 및 이벤트는 나열되지 않습니다. 속성 또는 메서드 아래에 들여쓰기되어 있는 부분은 상수를 의미합니다. 다른 설명이 없는 한 모든 Visual Basic 2008 열거형은 System.Windows.Forms 네임스페이스로 매핑됩니다.

이 표에서는 동작의 차이를 설명하는 항목에 대한 링크를 제공합니다. 직접 해당하는 요소가 Visual Basic 2008에 없는 경우에는 다른 방법을 제시하는 항목에 대한 링크를 제공합니다.

속성

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Appearance

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Appearance 및 BorderStyle 속성을 참조하십시오.

BackColor

BackColor

참고:

Visual Basic 2008에서는 색이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색 동작을 참조하십시오.

Columns

MultiColumnColumnWidth

Container

Parent

DataChanged

DataField

DataFormat

DataMember

DataSource

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 데이터 액세스를 참조하십시오.

DragIcon

DragMode

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

FontFont

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

참고:

Visual Basic 2008에서는 글꼴이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Font 개체를 참조하십시오.

ForeColor

ForeColor

참고:

Visual Basic 2008에서는 색이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색 동작을 참조하십시오.

Height

Height, Size

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

HelpContextID

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

HWnd

Handle

Index

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 컨트롤 배열을 참조하십시오.

IntegralHeight

IntegralHeight

ItemData

새롭게 구현되었습니다. 자세한 내용은 ItemData 속성을 업그레이드할 수 없습니다.를 참조하십시오.

Left

Left

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

List

Items

ListCount

Count (List.Count)

ListIndex

SelectedIndex

MouseIcon

새롭게 구현되었습니다. 자세한 내용은 사용자 지정 MousePointer를 설정할 수 없습니다.를 참조하십시오.

MousePointer

Cursor

상수 목록은 Visual Basic 6.0 사용자를 위한 MousePointer를 참조하십시오.

MultiSelect

SelectionMode

NewIndex

새롭게 구현되었습니다. 자세한 내용은 NewIndex 속성을 업그레이드할 수 없습니다.를 참조하십시오.

OLEDragMode

OLEDropMode

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

Parent

FindForm 메서드

SelCount

Count (SelectedItem.Count)

Selected

GetSelected, SetSelected (ListBox 컨트롤)

GetItemChecked, SetItemChecked (CheckedListBox 컨트롤)

Style

새로운 구현 속성 입니다. 0 – 표준은 CheckedListBox 컨트롤로 매핑되고 1 – 확인란은 CheckedListBox 컨트롤로 매핑됩니다.

ToolTipText

ToolTip 구성 요소

자세한 내용은 Visual Basic 6.0 사용자를 위한 도구 설명 지원을 참조하십시오.

Top

Top

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

WhatsThisHelpID

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

Width

Width, Size

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

메서드

이름

동일한 기능의 Visual Basic 2008 요소

AddItem

Add

AddRange

Insert

Clear

Clear

Drag

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

Move

SetBounds

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

OLEDrag

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

RemoveItem

Remove

SetFocus

Focus

ShowWhatsThis

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

ZOrder

BringToFront 또는 SendToBack 메서드

이벤트

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

DblClick

DoubleClick

DragDrop

DragOver

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

GotFocus

Enter

ItemCheck

ItemCheck (CheckedListBox에만 해당)

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

Scroll

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 TopIndex 속성 및 Scroll 이벤트를 참조하십시오.

Validate

Validating

업그레이드 참고 사항

업그레이드하는 동안 Visual Basic 6.0 Listbox의 Style 속성이 1 – 확인란으로 설정되어 있는 경우 이 컨트롤은 CheckedListBox 컨트롤로 업그레이드됩니다. 그렇지 않은 경우에는 ListBox 컨트롤로 업그레이드됩니다.

참고 항목

참조

ListBox 컨트롤 개요(Windows Forms)

ListBox 컨트롤 개요(Windows Forms)

CheckedListBox 컨트롤 개요(Windows Forms)