更新: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 控件的所有节点
说明: