ListBox 控件(针对 Visual Basic 6.0 用户)
更新: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 集合以编程方式确定每一项的选中状态。
列属性
在 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 |
新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。 |
||
BackColor |
|
||
Columns |
|||
Container |
|||
DataChanged DataField DataFormat DataMember DataSource |
新的实现。有关更多信息,请参见适用于 Visual Basic 6.0 用户的数据访问。 |
||
DragIcon DragMode |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
FontFont FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
Height |
|
||
HelpContextID |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
HWnd |
|||
Index |
新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)。 |
||
IntegralHeight |
|||
ItemData |
新的实现。有关更多信息,请参见 无法升级 ItemData 属性。 |
||
Left |
|
||
List |
|||
ListCount |
Count (List.Count) |
||
ListIndex |
|||
MouseIcon |
新的实现。有关更多信息,请参见无法设置自定义 MousePointer。 |
||
MousePointer |
有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。 |
||
MultiSelect |
|||
NewIndex |
新的实现。有关更多信息,请参见 无法升级 NewIndex 属性。 |
||
OLEDragMode OLEDropMode |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
Parent |
FindForm 方法 |
||
SelCount |
Count (SelectedItem.Count) |
||
Selected |
GetSelected 和 SetSelected(ListBox 控件) GetItemChecked 和 SetItemChecked(CheckedListBox 控件) |
||
Style |
新的实现属性。“0 – Standard”映射到 CheckedListBox 控件,“1 – Checkbox”映射到 CheckedListBox 控件。 |
||
ToolTipText |
ToolTip 组件 有关更多信息,请参见工具提示支持(针对 Visual Basic 6.0 用户)。 |
||
Top |
|
||
WhatsThisHelpID |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
Width |
|
方法
名称 |
Visual Basic 2008 等效项 |
||
---|---|---|---|
AddItem |
|||
Clear |
|||
Drag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
Move |
|
||
OLEDrag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
RemoveItem |
|||
SetFocus |
|||
ShowWhatsThis |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
ZOrder |
BringToFront 或 SendToBack 方法 |
事件
Visual Basic 6.0 |
Visual Basic 2008 等效项 |
---|---|
DblClick |
|
DragDrop DragOver |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
GotFocus |
|
ItemCheck |
ItemCheck(只适用于 CheckedListBox) |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
Scroll |
新的实现。有关更多信息,请参见 TopIndex 属性和 Scroll 事件(针对 Visual Basic 6.0 用户)。 |
Validate |
升级说明
在升级期间,如果 Visual Basic 6.0 Listbox 的 Style 属性设置为“1 – Checkbox”,则该控件升级为 CheckedListBox 控件;否则,该控件升级为 ListBox 控件。