3.5 TreeView 控件 - PowerPoint PPT Presentation

3 5 treeview
Download
1 / 38

  • 160 Views
  • Uploaded on
  • Presentation posted in: General

3.5 TreeView 控件. 3.5.1 TreeView 概述 3.5.2 TreeView 控件的属性 3.5.3 TreeView 控件的方法 3.5.4 TreeView 控件的事件 3.5.5 示例. 3.5.1 TreeView 概述. TreeView 控件可以用来显示具有层次结构的数据,例如组织树、索引项、磁盘中的文件和目录等。. 可能的用途 创建用户可以操作的组织树。 创建能够显示至少两层或更多层的数据库树 。. 3.5.2 TreeView 控件的属性.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

3.5 TreeView 控件

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3 5 treeview

3.5 TreeView 控件

  • 3.5.1 TreeView概述

  • 3.5.2 TreeView控件的属性

  • 3.5.3 TreeView控件的方法

  • 3.5.4 TreeView控件的事件

  • 3.5.5 示例

欧美学院信息技术系


3 5 1 treeview

3.5.1 TreeView概述

  • TreeView 控件可以用来显示具有层次结构的数据,例如组织树、索引项、磁盘中的文件和目录等。

可能的用途

创建用户可以操作的组织树。

创建能够显示至少两层或更多层的数据库树。

欧美学院信息技术系


3 5 2 treeview

3.5.2 TreeView控件的属性

  • 1. Node 对象和 Nodes 集合(一)          

  • Node 对象是 TreeView 控件中的一项,它包含图像和文本。

  • Nodes 集合包含一个或多个 Node 对象。

  • 语法

  • treeview.Nodes

  • treeview.Nodes.Item(index)

欧美学院信息技术系


3 3 2 treeview

3.3.2 TreeView控件的属性

  • 1. Node 对象和 Nodes 集合(二)——说明

  • 节点可包含文本和图片。然而,要使用图片,必须用 ImageList 属性关联一个ImageList 控件。

  • 图片可以根据节点的状态而改变;例如,如果SelectedImage 属性设置为来自关联的ImageList 的图像,则被选中的节点可拥有与未选中的节点不同的图片。

欧美学院信息技术系


3 5 2 treeview node

3.5.2 TreeView控件的属性(之)node——对象的基本属性)

  • 1)Item、Index、key 和text属性(一)

  • Item属性利用位置或键返回集合对象的指定成员。

  • Index属性返回或设置数,它唯一指定集合中的对象。

  • Key属性返回或设置字符串,在集合中唯一的标识一个成员。

  • text属性返回或设置包含在对象中的文本

欧美学院信息技术系


3 5 2 treeview node1

3.5.2 TreeView控件的属性(之)—— node对象的基本属性

  • 1)Item、Index、key 、text属性(二)

  • 语法

  • object.Item( index )

  • Index:指定集合成员位置的表达式。

  • 例:某一节点的index为3,key为”dad”

  • TreeView1.Nodes.Item(“dad”).Text

  • =TreeView1.Nodes.Item(3).Text

  • =Treeview1.Nodes(3).text

  • =Treeview1.Nodes(“dad”).text

欧美学院信息技术系


3 5 2 treeview node2

3.5.2 TreeView控件的属性(之)—— node对象的基本属性

  • 2)Root返回对所选 Node 的根 Node对象的引用

  • 3)Parent属性返回或设置 Node 对象的父对象

  • 4)Child返回对 TreeView 控件中的 Node 对象的第一个子节点的引用。

  • WithTreeView1.Nodes(TreeView1.SelectedItem.Index).Child

  • .Text = "New text“

  • .Key = "New key"

  • .SelectedImage = 3

  • End With

欧美学院信息技术系


3 5 2 treeview node3

3.5.2 TreeView控件的属性(之)——node对象的基本属性

  • 5)Children 属性  这个属性返回包含在 Node 对象中的各子 Node 对象的个数。

  • 6)Next返回对 TreeView 控件的 Node 对象的同一层次上的下一个相邻 Node 的引用。

  • 7) Previous返回对 Node 对象的同一层次上的前一个相邻节点的引用。

欧美学院信息技术系


3 5 2 treeview node4

3.5.2 TreeView控件的属性——之node对象的基本属性

  • 8)FirstSibling属性返回对 TreeView 控件中的 Node 对象的第一个相邻对象的引用。

  • 说明

  • 第一个相邻节点是出现在一个节点层中第一个位置上的 Node。实际上到底是哪一个 Node 出现在第一个位置取决于在那一层上的 Node 对象是否被排序,这由 Sorted 属性确定。

  • 9)LastSibling属性返回对 TreeView 控件中的 Node 对象的最后相邻节点的引用。

欧美学院信息技术系


3 5 2 treeview node5

实例

若TreeView1.Nodes(10)指节点内容为“tom”的节点。思考:

MsgBoxTreeView1.Nodes(10).FirstSibling.Text

MsgBox TreeView1.Nodes(10).previous.Text

MsgBox TreeView1.Nodes(10).lastsibling.Text

MsgBox TreeView1.Nodes(10).next.Text

输出的内容?

3.5.2 TreeView控件的属性——之node对象的基本属性

Greg

Bobby

Jack

Jack

欧美学院信息技术系


3 5 2 treeview node6

3.5.2 TreeView控件的属性——之node对象的基本属性

  • 10)Sorted 属性    

  • 此值确定 Node 对象的子节点是否按字母顺序排列。

  • 此值确定 TreeView 控件的根层节点是否按字母顺序排列。

  • 语法

  • object.Sorted [ = boolean]boolean的设置值是:

  • True:Node 对象根据它们的 Text 属性按字母顺序排列。其 Text 属性由数字开始的 Node 对象也作为字符串排序,第一个数字确定在排序中的初始位置,后面的数字确定以后的排序。

  • False:Node 对象不排序。

返回

欧美学院信息技术系


3 5 2 treeview node7

3.5.2 TreeView控件的属性——之node对象的基本属性

  • 11)Expanded 属性     

  • 这个属性返回或设置一个值,该值确定在 TreeView 控件中的 Node 对象当前是被展开的还是被折叠的。

  • object.Expanded[= boolean]

  • True:该 Node 当前被展开。

  • False:该 Node 当前被折叠。

欧美学院信息技术系


3 5 2 treeview nodes node

3.5.2 TreeView控件的属性(之)——nodes和node对象的方法

  • 1.Add 方法(Nodes 集合)

  • 在 Treeview 控件的 Nodes 集合中添加一个 Node 对象。

  • object.Add(relative, relationship, key, text, image, selectedimage)

  • Relative:可选的。已存在的 Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数 relationship 中找到。

  • relationship 是可选的。它表示指定的 Node 对象的相对位置,如设置值中所述。

欧美学院信息技术系


3 5 treeview

relationship 的设置值是:

返回

欧美学院信息技术系


3 5 2 treeview nodes node1

3.5.2 TreeView控件的属性(之)——nodes和node对象的方法

  • 1.Add 方法(Nodes 集合)—(参数介绍二)

  • Key:可选的。唯一的字符串,可用于用 Item 方法检索 Node。

  • Text:必需的。在 Node 中出现的字符串。

  • image可选的。在关联的 ImageList 控件中的图像的索引。

  • selectedimage:可选的。在关联的 ImageList 控件中的图像的索引,在 Node 被选中时显示。

欧美学院信息技术系


3 5 2 treeview nodes node2

3.5.2 TreeView控件的属性(之)——nodes和node对象的方法

1.Add 方法(Nodes 集合)—(应用一)

添加节点的第一个方法是直接使用Add方法

例如,假设已存在三个节点,如果想将第四个节点放在第二个和第三个节点之间,则代码如下:

  • ‘假设第二个节点的 Key 值为“2 node”。 tvwMyTree.Nodes.Add "2 node", tvwNext

欧美学院信息技术系


3 5 2 treeview nodes node3

3.5.2 TreeView控件的属性(之)——nodes和node对象的方法

1.Add 方法(Nodes 集合)—(应用二)

添加节点的第二个方法是:声明 Node 类型的对象变量,然后使用带 Add 方法的 Set 语句。

该 Set 语句将该对象变量设置为新节点。然后就可以用该对象变量设置节点的属性,如下所示:

  • Dim nodX As Node

  • Set nodX = tvwMyTree.Nodes.Add("10 node", tvwChild)

  • nodX.Key = "11 node"

  • nodX.Text = "IEEE"

  • nodX.Image = "closed"

欧美学院信息技术系


3 5 2 treeview nodes node4

3.5.2 TreeView控件的属性(之)——nodes和node对象的方法

  • 2.Remove 方法    

  • 把一个节点从 nodes集合中删除。

  • 语法

  • object.Remove index

  • Index:必需的。表达式,指定集合成员的位置。

  • 例:treeview1.nodes. Remove 3

  • 如果是数值表达式,则 index 必须是介于 1 和集合 Count 属性值之间的数。

  • 如果是字符串表达式,则在将被引用的成员添加到集合时,index必须和 key 参数一致。

欧美学院信息技术系


3 5 2 treeview nodes node5

3.5.2 TreeView控件的属性(之)——nodes和node对象的方法

  • 3.Clear 方法

  • 删除nodes集合中的全部对象。

  • 语法

  • object.Clear

  • 例:treeview1.nodes.clear

  • 说明

  • 为了从集合中只删除一个对象,使用 Remove方法。

欧美学院信息技术系


3 5 2 treeview nodes node6

3.5.2 TreeView控件的属性(之)——nodes和node对象的方法

  • 4.EnsureVisible 方法 

  • 这个方法确保指定Node 对象是可视的。如果需要,这个方法可展开 Node 对象并滚动 TreeView 控件。

  • 语法

  • object.EnsureVisible

  • 例:treeview1.nodes(3).EnsureVisible

  • 返回值

  • True:如果 TreeView 控件必须扩展以显露该对象,该方法返回 True。

  • False:如果不需展开,该方法返回 False。

欧美学院信息技术系


3 5 2 treeview1

3.5.2 TreeView控件的属性

  • 2. SelectedItem 属性

  • 返回对所选 Node 对象的引用。

  • 说明

  • SelectedItem 属性返回对于一个对象的引用,该对象能

  • 用来在选定的对象上设置属性和调用方法。

  • Command1_Click() ‘如果所选对象不是根,则删除此

  • 节点。

  • If TreeView1.SelectedItem.Index <> 1 Then

  • Treeview1.Nodes.RemoveTreeView1.SelectedItem.Index End If

欧美学院信息技术系


3 5 2 treeview2

3.5.2 TreeView控件的属性

  • 3. 图形类型——Style 属性 

  • 返回或设置图形类型(图像、文本、+/- 号、直线)以及出现在 TreeView 控件中每一 Node 对象上的文本的类型。

  • 语法

  • object.Style [ = number]

  • object:对象表达式,其值是“应用于”列表中的一个对象。

  • Number:指定图形类型的整数,请参阅“设置值”中的描述。

欧美学院信息技术系


3 5 2 treeview3

3.5.2 TreeView控件的属性

  • number的设置值是:

说明:若 Style 属性设置为包含直线的值,则 LineStyle 属性就确定了直线的外观。如果 Style 属性设置为不含直线的值,则 LineStyle 属性将被忽略

欧美学院信息技术系


3 5 2 treeview4

3.5.2 TreeView控件的属性

  • 4.线样式——LineStyle 属性 

  • 返回或设置在 Node 对象之间显示的线的样式。

  • 语法

  • object.LineStyle [ = number]

  • Number:它指定线的样式,如设置值所示:

欧美学院信息技术系


3 5 2 treeview5

3.5.2 TreeView控件的属性

  • 5.ImageList 属性

  • 返回或设置与另一控件相关的 ImageList控件。

  • 语法

  • object.ImageList [= imagelist]

  • 6. 复选框——Checkboxes属性     

  • 返回或设置一个值,确定是否显示复选框。 object.Checkboxes [= boolean]

  • boolean设置如下:

  • False(缺省) 复选框不显示。

  • True复选框显示。

欧美学院信息技术系


3 5 2 treeview6

3.5.2 TreeView控件的属性

  • 7. 标签编辑——LabelEdit 属性(一)

  • 确定是否可以编辑在TreeView 控件中的 Node 对象的标签。

  • 语法

  • object.LabelEdit [ = integer]

  • Object:对象表达式,其值是“应用于”列表中的一个对象。

  • integer:整数,它确定 Node 或ListItem 对象的标签是否可以被编辑。 integer 的设置值见下表

欧美学院信息技术系


3 5 2 treeview7

3.5.2 TreeView控件的属性

7.标签编辑——LabelEdit 属性(二)

integer 的设置值是 :

欧美学院信息技术系


3 5 2 treeview8

3.5.2 TreeView控件的属性

  • 8.项目展开——SingleSel属性     

  • 返回或设置一个值,指定项目被选中时是否展开。

  • 语法

  • object.SingleSel [= boolean]

  • boolean设置如下:

  • False:(缺省)项目被选中时不展开。

  • True:项目被选中时展开。

欧美学院信息技术系


3 5 3 treeview

3.5.3 TreeView控件的方法

欧美学院信息技术系


3 5 4 treeview

3.5.4 TreeView控件的事件

  • 1. 单击节点——NodeClick 事件 

  • 在一个 Node 对象被单击时,这个事件便发生。

  • 语法

  • Private Sub object_NodeClick(ByVal node As Node)

  • Node:对被点取的 Node 对象的引用。

  • 说明

  • 在单击节点对象之外的 TreeView 控件的任何部位,标准的 Click 事件发生。当单击某个特定的 Node 对象时,NodeClick 事件发生;

欧美学院信息技术系


3 5 4 treeview1

3.5.4 TreeView控件的事件

  • 2. 折回——Collapse 事件(一)      

  • 在 TreeView 控件中的任何 Node 对象被折回时,这个事件便发生。

  • 语法

  • Private Sub object_Collapse(ByVal node As Node)

  • object:对象表达式,其值是“应用于”列表中的对象。

  • node:对被单击的 Node 对象的引用

欧美学院信息技术系


3 5 4 treeview2

3.5.4 TreeView控件的事件

  • 2. 折回——Collapse 事件(二)

  • Collapse 事件发生在标准的 Click 事件之前。

  • 折回一个 Node 有三种方法:

  • 其一,设置 Node 对象的 Expanded 属性为 False;

  • 其二,双击 Node 对象;

  • 其三,在 TreeView 控件的 Style 属性被设置为包括 +/- 号图像的样式的情况下,单击 +/- 号图像。所有这些方法都产生 Collapse 事件。

欧美学院信息技术系


3 5 4 treeview3

3.5.4 TreeView控件的事件

  • 2. 折回——Collapse 事件(三)

  • 这个事件传送对折回的 Node 对象的引用。该引用可使一个操作有效,如以下例子所示:

  • Private Sub TreeView1_Collapse(ByVal Node As Node)

  • If Node.Index = 1 Then

  • Node.Expanded = True ' Expand the node again.

  • End If

  • End Sub

欧美学院信息技术系


3 5 4 treeview4

3.5.4 TreeView控件的事件

  • 3. 展开——Expand 事件(一)   

  • 在 TreeView 控件中的 Node 对象扩展开时,也就是它的子节点变成可视时,这个事件便发生。

  • 语法

  • Private Sub object_Expand(ByVal node As Node)

  • Object:对象表达式,其值是“应用于”列表中的一个对象。

  • Node:对展开的 Node 对象的引用。

欧美学院信息技术系


3 5 4 treeview5

3.5.4 TreeView控件的事件

  • 3. 展开——Expand 事件(二)  

  • 说明

  • Expand 事件发生在 Click 和 DblClick 事件之后。

  • Expand 事件的产生有三种方式:

  • 其一,双击带有子节点的 Node 对象;

  • 其二,将 Node 对象的 Expanded 属性设置为 True;

  • 其三,单击 +/- 图像。

欧美学院信息技术系


3 3 4 treeview

3.3.4 TreeView控件的事件

  • 3. 展开——Expand 事件(三)

  • 使用 Expand 事件使一个对象有效,如以下例子所示:

  • Private Sub TreeView1_Expand(ByVal Node As Node)

  • If Node.Index <> 1 Then

  • Node.Expanded = False ‘阻止扩展。

  • End If

  • End Sub

欧美学院信息技术系


3 3 4 treeview1

3.3.4 TreeView控件的事件

  • 4. 选择节点—— NodeCheck 事件       

  • 如果 CheckBoxes 属性等于 True,那么当 Node 对象被选择或者取消选择时将发生此事件。

  • 语法

  • Event NodeCheck(ByVal Node As ComctlLib.Node)

  • Node:返回被选择的 Node对象的对象引用。

  • 说明

  • 当 Node对象的 Checked属性被设置为 True或 False时不会发生此事件。

欧美学院信息技术系


3 3 5

3.3.5 示例

  • 向TreeView控件中添加节点,并对控件的NodeCheck事件编程,使之实现智能选取。程序运行结果如下图。

欧美学院信息技术系


  • Login