Visual Basic 6.0 和 Visual Basic 2005 ListView 控件的差异!
Visual Basic 6.0 中的 ListView 控件在 Visual Basic 2005 中由 ListView 控件替换。某些属性、方法、事件和常数的名称是不同的,在某些情况下,行为也有所不同。
概念差异
DropHighlight 属性
在 Visual Basic 6.0 中,当光标移到 ListView 控件中的一个 ListItem 对象上时,将使用 DropHighlight 属性利用系统高亮颜色来突出显示该 ListItem 对象。此属性通常用在拖放操作中。
在 Visual Basic 2005 中,不再提供 DropHighlight 属性;您可以在 MouseEnter 和 MouseLeave 事件中通过所有者绘制(也称为“自定义绘制”)突出显示来获得同样的效果。有关更多信息,请参见具有内置所有者描述支持的控件。
FlatScrollBar 属性
在 Visual Basic 6.0 中,FlatScrollBar 属性确定 ListView 控件中的滚动条的外观是否为平面(二维)的。
在 Visual Basic 2005 中,不再提供 FlatScrollBar 属性;ListView 控件中的滚动条始终具有三维外观。
HideColumnHeaders 属性
在 Visual Basic 6.0 中,HideColumnHeaders 属性确定 ListView 控件中的 ColumnHeader 对象在 Report 视图中是否隐藏。
在 Visual Basic 2005 中,不再提供 HideColumnHeaders 属性;您可以通过设置 HeaderStyle 属性来控制列标头的可见性。
ItemClick 事件
Visual Basic 6.0 ListView 控件同时具有 Click 和 ItemClick 事件。ItemClick 事件将 ListItem 对象作为参数。
在 Visual Basic 2005 中,不再提供 ItemClick 事件。取而代之的是,您可以使用 Click 事件和 EventSender.FocusedItem 参数确定单击了哪个 ListViewItem。
排序
在 Visual Basic 6.0 中,ListView 控件的排序是组合使用 Sorted、SortKey 和 SortOrder 属性来实现的。Sorted 确定是否启用排序,SortOrder 确定排序顺序是升序还是降序,而 SortKey 指定使用子项进行排序,而不使用文本进行排序。
在 Visual Basic 2005 中,排序是使用 Sorting 属性实现的,该属性一步即可启用排序和设置排序顺序。SortKey 属性由 ListViewItemSorter 属性替换。
View 属性
在 Visual Basic 6.0 中,View 属性确定 ListView 控件中的项的显示方式——带有文本的大图标方式 (lvwIcon)、带有文本的小图标方式 (lvwSmallIcon)、列表方式 (lvwList) 或带有子项的列表方式 (lvwReport)。
在 Visual Basic 2005 中,仍将提供 View 属性,但是枚举有所不同。lvwIcon 由 LargeIcon 替换,lvwSmallIcon 由 SmallIcon 替换,lvwList 由 List 替换,并且 lvwReport 由 Details 替换。此外,还有一个新视图 Tile,在该视图中每项都以一个全尺寸的图标出现,图标的右边显示有项标签和子项信息。
ListView 控件的代码更改
下面的示例演示 Visual Basic 6.0 和 Visual Basic 2005 在编码方法上的不同之处。
确定 ListView 控件中选定项的代码更改
下面的代码示例将选择的 ListView 项赋给变量。
复制代码
' Visual Basic 6.0
Dim theItem As ListItem
theItem = ListView1.SelectedItem
Visual Basic 复制代码
' Visual Basic 2005
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 复制代码
' Visual Basic 2005
For Each selectedItem As ListViewItem In ListView1.SelectedItems
MsgBox(selectedItem.Text)
Next
ListView 控件的属性、方法和事件的等效项
下面几个表列出了 Visual Basic 6.0 中的属性、方法和事件及它们的 Visual Basic 2005 等效项。具有相同的名称和行为的属性、方法和事件未予列出。除非另外说明,否则所有 Visual Basic 2005 枚举都映射到 System.Windows.Forms 命名空间。
此表提供相关主题的链接,这些主题对行为之间的差异进行说明。如果 Visual Basic 2005 中没有直接等效项,则提供指向介绍替换项的主题的链接。
属性
Visual Basic 6.0 Visual Basic 2005 等效项
Appearance
新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。
Arrange
Alignment
BackColor
BackColor
注意
颜色在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见颜色行为(针对 Visual Basic 6.0 用户)。
ColumnHeaderIcons
ImageIndex, ImageKey
ColumnsHeaders
Columns
Container
Parent
DragIcon
DragMode
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。
DropHighlight
新的实现。
FlatScrollBar
新的实现。
Font Font
FontBold
FontItalic
FontName
FontSize
FontStrikethrough
FontUnderline
Font
注意
字体在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见 Font 对象(针对 Visual Basic 6.0 用户)。
Height
Height, Size
注意
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
HelpContextID
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。
HWnd
Handle
Icons
LargeImageList
Index
新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)。
Left
Left
注意
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 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 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
WhatsThisHelpID
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。
Width
Width, Size
注意
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
方法
名称 Visual Basic 2005 等效项
Drag
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。
FindItem
FindItemWithText
GetFirstVisible
TopItem
Move
SetBounds
注意
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
OLEDrag
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。
Refresh
RedrawItems
SetFocus
Focus
ShowWhatsThis
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。
StartLabelEdit
BeginEdit
ZOrder
BringToFront 或 SendToBack 方法
事件
Visual Basic 6.0 Visual Basic 2005 等效项
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 2005 时,任何 ListView 控件都升级为 Windows 窗体 ListView 控件。如果属性、方法和事件没有等效项或存在行为差异,则会在您的代码中添加升级说明或警告。