更新: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 方法控制展开行为。
Image 和 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 窗体概念。
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 枚举都映射到 System.Windows.Forms 命名空间。
此表提供相关主题的链接,这些主题对行为之间的差异进行说明。如果 Visual Basic 2008 中没有直接等效项,则提供指向介绍其他替代项的主题的链接。
属性
| Visual Basic 6.0 | Visual Basic 2008 等效项 | ||
|---|---|---|---|
| Appearance | 新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。 | ||
| 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 | 有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。 | ||
| OLEDragMode OLEDropMode | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
| Parent | FindForm 方法 | ||
| Scroll | |||
| SingleSel | 新的实现。使用 NodeMouseClick 事件。 | ||
| Style | 新的实现属性。“0“或“Standard”映射到 CheckedListBox 控件,“1“或“Checkbox”映射到 CheckedListBox 控件。 | ||
| ToolTipText | ToolTip 组件 有关更多信息,请参见工具提示支持(针对 Visual Basic 6.0 用户)。 | ||
| 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 窗体 TreeView 控件。如果属性、方法和事件没有等效项或存在行为差异,则会在您的代码中添加升级说明或警告。
请参见
任务
如何:向 TreeView 或 ListView 控件添加自定义信息(Windows 窗体)
如何:循环访问 Windows 窗体 TreeView 控件的所有节点
.gif) 说明:
说明: