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 事件中,以 Ownerdraw 模式繪製 (也稱為自訂繪製) 反白顯示而達到相同效果。如需詳細資訊,請參閱使用內建主控描繪支援的控制項。
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 中,是結合 Sorted、SortKey 和 SortOrder 屬性進行 ListView 控制項的排序作業:Sorted 會判斷是否已啟用排序,SortOrder 則判斷是按遞增還是遞減排序,然後 SortKey 指定要用來代替文字進行排序的子項目。
在 Visual Basic 2008 中,排序是使用 Sorting 屬性來完成,此屬性會啟用排序,然後只要一個步驟就能設定排列順序。SortKey 屬性已由 ListViewItemSorter 屬性取代。
View 屬性
在 Visual Basic 6.0 中,View 屬性決定 ListView 控制項中項目的顯示方式:顯示為大型圖示附上文字 (lvwIcon)、顯示為小型圖示附上文字 (lvwSmallIcon)、顯示為一份清單 (lvwList),或者顯示為附子項目的清單 (lvwReport)。
在 Visual Basic 2008 中仍然有 View 屬性,但列舉型別 (Enumeration) 不同。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 列舉型別 (Enumeration) 都會對應到 System.Windows.Forms 命名空間 (Namespace)。
此表提供說明行為差異的主題連結。若 Visual Basic 2008 中沒有直接的對等用法,則提供連結至替代的主題。
屬性
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
||
---|---|---|---|
Appearance |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 Appearance 和 BorderStyle 屬性。 |
||
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 |
如需常數的清單,請參閱 Visual Basic 6.0 使用者可用的 MousePointer。 |
||
OLEDragMode OLEDropMode |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
Parent |
FindForm 方法 |
||
Picture |
|||
PictureAlignment |
|||
SelectedItem |
|||
SmallIcons |
|||
Sorted SortOrder |
|||
SortKey |
|||
TextBackground |
|||
ToolTipText |
ToolTip 元件。 如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 ToolTip 支援。 |
||
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 Form ListView 控制項。當屬性、方法和事件沒有對應項或它們的行為上有差異時,會在您的程式碼中加入升級說明或警告。