适用于 Visual Basic 6.0 用户的 ListView 控件

更新: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

Alignment

BackColor

BackColor

说明:

颜色在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见颜色行为(针对 Visual Basic 6.0 用户)

ColumnHeaderIcons

ImageIndex, ImageKey

ColumnsHeaders

Columns

Container

Parent

DragIcon

DragMode

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

DropHighlight

新的实现。

FlatScrollBar

新的实现。

FontFont

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

说明:

字体在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见 Font 对象(针对 Visual Basic 6.0 用户)

Height

Height, Size

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

HelpContextID

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)

HWnd

Handle

Icons

LargeImageList

Index

新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)

Left

Left

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

ListItems

Items

MouseIcon

新的实现。有关更多信息,请参见无法设置自定义 MousePointer

MousePointer

Cursor

有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)

OLEDragMode

OLEDropMode

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

Parent

FindForm 方法

Picture

BackgroundImage

PictureAlignment

BackgroundImageTiled

SelectedItem

SelectedItems

SmallIcons

SmallImageList

Sorted

SortOrder

Sorting

SortKey

ListViewItemSorter

TextBackground

BackColor

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 等效项

Drag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

FindItem

FindItemWithText

GetFirstVisible

TopItem

Move

SetBounds

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

OLEDrag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

Refresh

RedrawItems

SetFocus

Focus

ShowWhatsThis

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)

StartLabelEdit

BeginEdit

ZOrder

BringToFrontSendToBack 方法

事件

Visual Basic 6.0

Visual Basic 2008 等效项

DblClick

DoubleClick

DragDrop

DragOver

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

GotFocus

Enter

ItemClick

无直接等效项。

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

Validate

Validating

升级说明

当 Visual Basic 6.0 项目升级到 Visual Basic 2008 时,所有 ListView 控件都升级为 Windows 窗体 ListView 控件。如果属性、方法和事件没有等效项或存在行为差异,则会在您的代码中添加升级说明或警告。

请参见

其他资源

ListView 控件(Windows 窗体)