Visual Basic 6.0 使用者可用的 TreeView 控制項
更新:2007 年 11 月
Visual Basic 6.0 的 TreeView 控制項在 Visual Basic 2008 中已經由 TreeView 控制項取代。此外,某些屬性、方法、事件及常數的名稱會改變,而且在某些情況下,行為方面也會有差異。
概念上的差異
SingleSel 屬性
在 Visual Basic 6.0 中,TreeView 控制項的 SingleSel 屬性會判斷在選取節點時,是否展開節點以顯示其子節點。如果該屬性設定為 True,則會在選取節點時展開節點,沒有選取時節點,則保持收合的狀態。
在 Visual Basic 2008 中,SingleSel 屬性已不存在。節點會預設為在按一下時不會展開 (此預設值的作用相當於 Visual Basic 6.0 中的 SingleSel 屬性設定為 False)。您可以使用 AfterSelect 事件,判斷何時選取節點,然後再使用 Expand 或 Collapse 方法,控制展開行為。
影像和 SelectedImage 屬性
在 Visual Basic 6.0 中,可以將 SelectedImage 屬性指派給 TreeView 控制項節點,而不需指派 Image 屬性。
在 Visual Basic 2008 中,除非 TreeView 控制項的 TreeNode 物件具有 Image 屬性,否則它不能有 SelectedImage。如果您需要模擬 Visual Basic 6.0 的行為,可以將一個空白影像指派給 Image 屬性。
其他差異
此外,還有許多概念不同的層面,包括所有控制項,包括資料繫結、字型處理、拖放作業、說明支援等方面的差別。如需詳細資訊,請參閱 Visual Basic 6.0 使用者的 Windows Form 概念。
TreeView 控制項的程式碼變更
下列範例顯示 Visual Basic 6.0 與 Visual Basic 2008 之間的程式撰寫技巧差異。
展開 TreeView 控制項中已選取節點的程式碼變更
下列程式碼將示範如何在使用者選取時 TreeView 時,展開這一個節點。
' Visual Basic 6.0
TreeView1.SingleSel = True
' Visual Basic
Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As _
System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
TreeView1.SelectedNode.Expand()
End Sub
在 TreeView 控制項中加入節點的程式碼變更
下列程式碼將示範如何加入新節點做為目前已選取節點的子節點。
' Visual Basic 6.0
Dim nodX As Node
Set nodX = TreeView1.Nodes.Add(Node, tvwChild, , "New Node")
' Visual Basic
Dim nodX As TreeNode = New TreeNode("New Node")
TreeView1.SelectedNode.Nodes.Add(nodX)
TreeView 控制項屬性、方法和事件的對等用法
下表列出 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 屬性。 |
||
BackColor |
|
||
Container |
|||
DragIcon DragMode |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
FontFont FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
Height |
|
||
HelpContextID |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
HWnd |
|||
Indentation |
|||
Index |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的控制項陣列。 |
||
Left |
|
||
LineStyle |
|||
MouseIcon |
新實作。如需詳細資訊,請參閱無法設定自訂 MousePointer。 |
||
MousePointer |
如需常數的清單,請參閱 Visual Basic 6.0 使用者可用的 MousePointer。 |
||
OLEDragMode OLEDropMode |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
Parent |
FindForm 方法 |
||
Scroll |
|||
SingleSel |
新實作。使用 NodeMouseClick 事件。 |
||
Style |
新實作屬性。[0] 或 [Standard] 對應至 CheckedListBox 控制項,[1] 或 [Checkbox] 對應至 CheckedListBox 控制項。 |
||
ToolTipText |
ToolTip 元件 如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 ToolTip 支援。 |
||
Top |
|
||
WhatsThisHelpID |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
Width |
|
方法
名稱 |
Visual Basic 2008 對等用法 |
||
---|---|---|---|
Drag |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
GetVisibleCount |
VisibleCount 屬性 |
||
HitTest |
|||
Move |
|
||
OLEDrag |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
SetFocus |
|||
ShowWhatsThis |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
StartLabelEdit |
|||
ZOrder |
BringToFront 或 SendToBack 方法 |
事件
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
---|---|
Collapse |
|
DblClick |
|
DragDrop DragOver |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
Expand |
|
GotFocus |
|
LostFocus |
|
NodeCheck |
|
NodeClick |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
Validate |
升級注意事項
當 Visual Basic 6.0 專案升級為 Visual Basic 2008 時,TreeView 控制項會升級為 Windows Form TreeView 控制項。如果屬性、方法和事件沒有對應項或者出現行為上的差異時,會在您的程式碼中加入升級說明或警告。
請參閱
工作
HOW TO:將自訂資訊加入 TreeView 或 ListView 控制項 (Windows Form)
HOW TO:逐一查看 Windows Form TreeView 控制項的所有節點