更新:2007 年 11 月
Visual Basic 6.0 中的 ListView 控件在 Visual Basic 2008 中由 ListView 控件所取代。某些属性、方法、事件和常数的名称是不同的,在某些情况下,行为也有所不同。
概念差异
DropHighlight 属性
在 Visual Basic 6.0 中,当光标移到 ListView 控件中的一个 ListItem 对象上时,将使用 DropHighlight 属性利用系统高亮颜色来突出显示该 ListItem 对象。此属性通常用在拖放操作中。
在 Visual Basic 2008 中,不再提供 DropHighlight 属性;您可以在 MouseEnter 和 MouseLeave 事件中通过所有者描述(也称为“自定义绘制”)突出显示来获得同样的效果。有关更多信息,请参见 具有内置所有者描述支持的控件。
FlatScrollBar 属性
在 Visual Basic 6.0 中,FlatScrollBar 属性确定 ListView 控件中的滚动条的外观是否为平面(二维)的。
在 Visual Basic 2008 中,不再提供 FlatScrollBar 属性;ListView 控件中的滚动条始终具有三维外观。
HideColumnHeaders 属性
在 Visual Basic 6.0 中,HideColumnHeaders 属性确定 ListView 控件中的 ColumnHeader 对象在 Report 视图中是否隐藏。
在 Visual Basic 2008 中,不再提供 HideColumnHeaders 属性;您可以通过设置 HeaderStyle 属性来控制列标头的可见性。
ItemClick 事件
Visual Basic 6.0 ListView 控件同时具有 Click 和 ItemClick 事件。ItemClick 事件将 ListItem 对象作为参数。
在 Visual Basic 2008 中,不再提供 ItemClick 事件。取而代之的是,您可以使用 Click 事件和 EventSender.FocusedItem 参数确定单击了哪个 ListViewItem。
排序
在 Visual Basic 6.0 中,ListView 控件的排序是组合使用 Sorted、SortKey 和 SortOrder 属性来实现的。Sorted 确定是否启用排序,SortOrder 确定排序顺序是升序还是降序,而 SortKey 指定使用子项进行排序,而不使用文本进行排序。
在 Visual Basic 2008 中,排序是使用 Sorting 属性实现的,该属性一步即可启用排序和设置排序顺序。SortKey 属性由 ListViewItemSorter 属性替换。
View 属性
在 Visual Basic 6.0 中,View 属性确定 ListView 控件中的项的显示方式——带有文本的大图标方式 (lvwIcon)、带有文本的小图标方式 (lvwSmallIcon)、列表方式 (lvwList) 或带有子项的列表方式 (lvwReport)。
在 Visual Basic 2008 中,仍将提供 View 属性,但是枚举有所不同。lvwIcon 由 LargeIcon 取代,lvwSmallIcon 由 SmallIcon 取代,lvwList 由 List 取代,lvwReport 由 Details 取代。此外,还有一个新视图 Tile,在该视图中每项都以一个全尺寸的图标出现,图标的右边显示有项标签和子项信息。
ListView 控件的代码更改
下面的示例演示 Visual Basic 6.0 与 Visual Basic 2008 在编码方法方面的差异。
确定 ListView 控件中选定项的代码更改
下面的代码示例将选择的 ListView 项赋给变量。
' Visual Basic 6.0
Dim theItem As ListItem
theItem = ListView1.SelectedItem
' Visual Basic
Dim theItem As ListViewItem
If ListView1.SelectedItems.Count > 0 Then
    theItem = ListView1.SelectedItems(0)
Else
    theItem = Nothing
End If
确定 ListView 控件中所有选定项的代码更改
下面的代码示例显示一个消息框,其中显示有 ListView 控件中每个选定项的文本。
' Visual Basic 6.0
For i = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(i).Selected = True Then
        MsgBox(ListView1.SelectedItem
    End If
Next i
' Visual Basic
For Each selectedItem As ListViewItem In ListView1.SelectedItems
    MsgBox(selectedItem.Text)
Next
ListView 控件的属性、方法和事件的等效项
下表列出了 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 用户)。 | ||
| Arrange | |||
| BackColor | 
 | ||
| ColumnHeaderIcons | |||
| ColumnsHeaders | |||
| Container | |||
| DragIcon DragMode | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
| DropHighlight | 新的实现。 | ||
| FlatScrollBar | 新的实现。 | ||
| FontFont FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline | 
 | ||
| Height | 
 | ||
| HelpContextID | 新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 | ||
| HWnd | |||
| Icons | |||
| Index | 新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)。 | ||
| Left | 
 | ||
| ListItems | |||
| MouseIcon | 新的实现。有关更多信息,请参见无法设置自定义 MousePointer。 | ||
| MousePointer | 有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。 | ||
| OLEDragMode OLEDropMode | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
| Parent | FindForm 方法 | ||
| Picture | |||
| PictureAlignment | |||
| SelectedItem | |||
| SmallIcons | |||
| Sorted SortOrder | |||
| SortKey | |||
| TextBackground | |||
| ToolTipText | ToolTip 组件。 有关更多信息,请参见工具提示支持(针对 Visual Basic 6.0 用户)。 | ||
| Top | 
 | ||
| WhatsThisHelpID | 新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 | ||
| Width | 
 | 
方法
| 名称 | Visual Basic 2008 等效项 | ||
|---|---|---|---|
| Drag | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
| FindItem | |||
| GetFirstVisible | |||
| Move | 
 | ||
| OLEDrag | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
| Refresh | |||
| SetFocus | |||
| ShowWhatsThis | 新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 | ||
| StartLabelEdit | |||
| ZOrder | BringToFront 或 SendToBack 方法 | 
事件
| Visual Basic 6.0 | Visual Basic 2008 等效项 | 
|---|---|
| DblClick | |
| DragDrop DragOver | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | 
| GotFocus | |
| ItemClick | 无直接等效项。 | 
| LostFocus | |
| OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | 
| Validate | 
升级说明
当 Visual Basic 6.0 项目升级到 Visual Basic 2008 时,所有 ListView 控件都升级为 Windows 窗体 ListView 控件。如果属性、方法和事件没有等效项或存在行为差异,则会在您的代码中添加升级说明或警告。
.gif) 说明:
说明: