TreeView
- 格式:doc
- 大小:19.00 KB
- 文档页数:5
一、UE4中的TreeView树形结构概述UE4是一款功能强大的游戏开发工具,拥有丰富的功能和组件,其中就包括了TreeView树形结构。
TreeView是一种常见的用户界面控件,可以用于展示层级关系的数据,比如文件夹结构、菜单树等。
在UE4中,使用TreeView可以实现复杂的层级菜单、属性面板等功能,为游戏开发提供了便利。
二、创建TreeView树形结构1. 在UE4中,首先需要创建一个新的UserWidget,作为TreeView的父容器。
在编辑器中选择“User Interface” -> “Widget Blueprint”,创建一个新的UserWidget,并命名为TreeWidget。
2. 在TreeWidget中添加一个TreeView控件,可以在左侧的“Palette”中找到TreeView,并将其拖拽到TreeWidget的CanvasPanel中。
3. 接下来,我们需要在TreeView中添加树形结构的数据。
在TreeWidget的蓝图中创建一个函数,用于绑定数据到TreeView上。
我们可以创建一个名为BindData的函数,然后在该函数中使用AddChild和AddRoot函数向TreeView中添加节点数据。
4. 通过调用TreeView的SetItemHeight函数,可以设置每个节点的高度,使得TreeView显示更加美观。
还可以通过SetIndentation函数设置节点的缩进距离,以体现层级关系。
三、处理TreeView树形结构的交互1. 在UE4中,TreeView是支持交互操作的,比如鼠标点击、拖拽等。
通过监听TreeView的事件,我们可以实现节点的展开、折叠、选中等操作。
2. 在TreeWidget的蓝图中,可以通过绑定TreeView的事件回调函数来处理交互操作,比如OnItemClicked、OnItemDoubleClicked 等。
在这些回调函数中,可以编写逻辑代码来处理节点的展开、折叠等操作。
TreeView控件使用教程11. TreeView 控件TreeView 控件显示Node 对象的分层列表,每个Node 对象均由一个标签和一个可选的位图组成。
TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。
语法Treeview说明创建了TreeView 控件之后,可以通过设置属性与调用方法对各Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作。
可以编程展开与折回Node 对象来显示或隐藏所有子节点。
Collapse、Expand 和NodeClick 三个事件也提供编程功能。
Node 对象使用Root、Parent、Child、FirstSibling、Next、Previous 和LastSibling 属性。
在代码中可通过检索对Node 对象的引用,从而在树上定位。
也可以使用键盘定位。
UP ARROW 键和DOWN ARROW 键向下循环穿过所有展开的Node 对象。
从左到右、从上到下地选择Node 对象。
若在树的底部,选择便跳回树的顶部,必要时滚动窗口。
RIGHT ARROW 键和LEFT ARROW 键也穿过所有展开的Node 对象,但是如果选择了未展开的Node之后再按RIGHT ARROW 键,该Node 便展开;第二次按该键,选择将移向下一个Node。
相反,若扩展的Node 有焦点,这时再按LEFT ARROW 键,该Node 便折回。
如果按下ANSI 字符集中的键,焦点将跳转至以那个字母开头的最近的Node。
后续的按该键的动作将使选择向下循环,穿过以那个字母开头的所有展开节点。
控件的外观有八种可用的替换样式,它们是文本、位图、直线和+/- 号的组合,Node 对象可以任一种组合出现。
TreeView 控件使用由ImageList 属性指定的ImageList 控件,来存储显示于Node 对象的位图和图标。
任何时刻,TreeView 控件只能使用一个ImageList。
qml treeview 简单例子QML TreeView 是一种用于显示层次结构数据的组件,它可以以树状的形式展示数据,并且支持交互操作。
下面将介绍一些使用 QML TreeView 的简单例子,以帮助读者更好地理解和使用这个组件。
1. 基本的 TreeView 示例这是一个基本的 TreeView 示例,用于展示一个简单的层次结构数据:```qmlimport QtQuick 2.0import QtQuick.Controls 2.15TreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }}```2. 自定义 TreeView 样式可以通过自定义样式来修改 TreeView 的外观,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentstyle: TreeViewStyle {itemDelegate: Item {Rectangle {color: styleData.selected ? "red" : "white" height: 30width: treeView.widthText {anchors.centerIn: parenttext: }}}}model: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }}```3. 动态添加和删除节点可以通过操作数据模型来动态添加和删除节点,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }Button {text: "Add Child"onClicked: {treeView.model.append({ name: "New Child" }) }}Button {text: "Remove Child"onClicked: {treeView.model.remove(treeView.currentIndex)}}}```4. 自定义节点图标可以通过自定义节点的图标来增加可视化效果,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1"; icon: "folder.png" } ListElement { name: "Child 2"; icon: "file.png" } ListElement { name: "Child 3"; icon: "file.png" } }delegate: Item {width: treeView.widthheight: 30Row {Image {source: model.iconheight: 16width: 16}Text {text: }}}}```5. 节点的展开和折叠可以通过设置 TreeView 的 `expanded` 属性来控制节点的展开和折叠状态,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1"; expanded: true }ListElement { name: "Child 2"; expanded: false }ListElement { name: "Child 3"; expanded: true }}delegate: TreeViewButton {text: }}```6. 隐藏根节点可以通过设置 TreeView 的 `rootVisible` 属性来控制是否显示根节点,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentrootVisible: falsemodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: TreeViewButton {text: }}```7. 树节点的排序可以通过设置 TreeView 的 `sortIndicatorVisible` 属性来显示排序指示器,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentsortIndicatorVisible: truemodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 3" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }}delegate: TreeViewButton {text: }}```8. 多列的 TreeView可以通过设置 TreeView 的`columnCount` 属性来创建多列的TreeView,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentcolumnCount: 2model: ListModel {ListElement { name: "Root"; description: "Rootnode" }ListElement { name: "Child 1"; description: "Child 1 node" }ListElement { name: "Child 2"; description: "Child 2 node" }ListElement { name: "Child 3"; description: "Child 3 node" }}TableViewColumn {role: "name"title: "Name"}TableViewColumn {role: "description"title: "Description"}}```9. 自定义节点的交互操作可以通过自定义节点的交互操作,实现自定义功能,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement { name: "Root" }ListElement { name: "Child 1" }ListElement { name: "Child 2" }ListElement { name: "Child 3" }}delegate: Item {width: treeView.widthheight: 30Rectangle {color: styleData.selected ? "red" : "white" height: parent.heightwidth: treeView.widthText {anchors.centerIn: parenttext: }MouseArea {anchors.fill: parentonClicked: {console.log("Clicked on", ) }}}}}```10. 显示复杂的层次结构数据TreeView 可以显示复杂的层次结构数据,下面是一个示例:```qmlTreeView {id: treeViewanchors.fill: parentmodel: ListModel {ListElement {name: "Root"children: [{ name: "Child 1" },{name: "Child 2",children: [{ name: "Grandchild 1" },{ name: "Grandchild 2" }]},{ name: "Child 3" }]}}delegate: TreeViewButton {text: }}```以上就是一些使用 QML TreeView 的简单例子,通过这些例子,读者可以了解到如何使用 TreeView 展示层次结构数据,并且可以根据具体需求自定义节点样式和交互操作。
TreeView 控件的呈现是可完全自定义的,这使得可以使用多种多样的显示样式。
若要自定义TreeView 控件的外观,可以执行以下操作:·指定影响控件显示和呈现的TreeView 控件属性。
·指定一个ImageSet 属性,该属性选择一组在运行时同控件一起呈现的内置图像。
·指定用于控制TreeView 控件内特定TreeNode 对象组的显示及呈现特性的各图像和样式属性。
·使用Visual Studio 的自动套用格式功能可迅速完成一组图像和样式属性的自定义。
·为应用程序中的TreeView 控件指定一个预定义主题或一个定义运行时显示及呈现特性的外观。
一、顶级布局属性除了服务器控件的标准属性(如BackColor 属性)外,TreeView 控件还公开一组提供对TreeView 控件的外观进行精确控制的属性。
1.1、NodeIndent 属性NodeIndent 属性指定了所有节点的缩进量级。
节点会从呈现TreeView 控件的一侧缩进。
对于从左向右呈现的区域设置而言,这是指左侧,而对于从右向左呈现的区域设置而言,这是指右侧。
1.2、NodeWrap 属性NodeWrap 属性指定每个节点中显示的文本在空间不足时是换到下一行的开头还是在同一行中继续显示。
1.3、ShowLines 属性ShowLines 属性指定是否显示将子节点连接到父节点的连线。
当此属性设置为true 时,TreeView 控件将在LineImagesFolder 属性指定、可从Web 访问的文件夹中搜索连线图像。
二、TreeNodeStyle 属性除了自身的属性外,TreeView 控件还支持每种节点类型的TreeNodeStyle 控件的属性。
这些样式属性将重写应用于所有节点类型的NodeStyle 属性。
TreeView 控件还具有一个为所有节点指定缩进量级的NodeIndent 属性。
tkinter treeview用法Tkinter Treeview是一个常用的Python GUI工具包中的组件,它提供了一种以树形结构展示数据的方式。
使用Tkinter Treeview,您可以方便地显示、编辑和管理具有父子关系的数据。
在使用Tkinter Treeview时,您首先需要导入tkinter模块,并创建一个根窗口。
然后,可以创建一个Treeview对象并将其添加到根窗口中。
```pythonimport tkinter as tkfrom tkinter import ttkroot = ()tree = ttk.Treeview(root)tree.pack()```接下来,您可以利用add()方法向Treeview中添加树节点。
每个节点需要指定一个唯一的标识符,以及显示在Treeview中的文本。
```python# 添加根节点root_node = tree.insert("", "end", text="Root Node", iid="root")# 添加子节点child_node = tree.insert(root_node, "end", text="Child Node", iid="child")```除了文本,您还可以向每个节点添加其他的数据,并指定显示的图标。
```python# 添加数据和图标tree.set(child_node, "column_name", "Value")tree.item(child_node, tags=("data",))```如果想要编辑或删除节点,可以使用delete()方法。
```python# 删除节点tree.delete(child_node)```还可以像列样式、排序和扩展图标等进行自定义设置。
treeview用法Treeview一种用于展示数据层次的可视化控件,它通常被用来展示文件夹的内容、文件树状结构、网站的导航结构等。
它可以使用鼠标点击来展开和收起,它的数据通常以树的形式呈现,它可以使用来递归展示数据,以及实现展开和收起的效果。
Treeview使用步骤是:1. 入 Treeview件首先,我们需要在项目中引入 Treeview件,一般来讲,我们可以使用 JavaScript、jQuery、bootstrap相关库来引入 Treeview。
2. 建数据源在使用 Treeview件之前,我们需要准备一份用于展示的文件树状结构的数据。
常见的数据源有 JavaScript数组、JSON式的数据格式等。
3. 始化 Treeview件接着,我们将 Treeview件初始化,通常我们需要指定数据源,以及一些属性,比如支持展开收起等。
4. 建 Treeview 事件当我们在使用 Treeview件的时候,可以创建一些事件,比如点击事件等,这样我们就可以在点击 Treeview件的任意节点时做出相应的反应。
总的来说,Treeview 为我们提供了一种实现文件树状结构展示的可视化控件。
它可以为我们呈现出简洁清晰的数据层次结构,它可以帮助我们更方便地使用它来构建文件层次结构。
Treeview 也可以用于其他更多的场景,比如用于网站的导航设计。
简单的设计可以让用户快速地找到所需的内容,而复杂的设计则可以实现对访问量的控制,帮助用户快速地找到有用的内容。
另外,通过 Treeview件,我们可以让用户看到更直观、更清晰的网站结构,从而使用户可以更加顺利地浏览网站。
另外,Treeview件还可以用于实现较大数据量的展示。
针对于较大的数据量,我们可以利用 Treeview层级展示,实现较大数据量的展示,同时又保留了数据的层次结构,使用户可以更加顺利地浏览数据。
Treeview一种使用极为广泛的可视化控件,它可以用于文件树状结构的展示、网站的导航设计、较大数据量的展示等,它的使用与实现相比较简单,使用它来可视化展示数据是一种更加有效的方式。
tkinter中treeview用法tkinter是一个常用的Python图形用户界面(GUI)库,它提供了一组用于创建和管理窗口、组件和控件的功能。
其中,treeview是tkinter中一个常用的控件,用于显示数据的多层次结构。
treeview的基本用法如下:1. 导入必要的模块和库:```from tkinter import *from tkinter.ttk import Treeview```2. 创建主窗口:```root = Tk()root.title("TreeView Example")```3. 创建treeview对象:```tree = Treeview(root)tree.pack()```4. 定义treeview的列和列名:```tree["columns"] = ("column1", "column2", "column3")tree.heading("column1", text="Column 1")tree.heading("column2", text="Column 2")tree.heading("column3", text="Column 3")```5. 添加数据到treeview中:```tree.insert(parent="", index="end", text="Item A", values=("Value A1", "Value A2", "Value A3"))tree.insert(parent="", index="end", text="Item B", values=("Value B1", "Value B2", "Value B3"))```6. 绑定事件处理函数:```def handle_select(event):selected_item = tree.focus()item_text = tree.item(selected_item, "text")print("Selected Item:", item_text)tree.bind("<<TreeviewSelect>>", handle_select)```7. 运行主消息循环:```root.mainloop()```以上是treeview的基本用法,下面将详细介绍各个步骤。
treeview用法Treeview一种常见的UI素,用于在显示层次结构的数据。
它通常用来显示目录树状结构,在 Windows统中,它经常被用作文件管理器,让用户可以快速查找和查看文件和文件夹。
在 web用中,Treeview于构建层次结构的菜单,用户使用它可以更加轻松和高效地浏览信息。
Treeview一种常用的控件,也是一种重要的交互元素。
Treeview 一般被用来显示多级树状结构,分级显示文件、文件夹和其他信息,以便用户可以快速找到所需的内容。
Treeview常有两种常见的操作,一是点击节点以展开或收缩节点,以查看其子节点;二是点击节点来查看其具体内容。
Treeview使用比较灵活,它可以应用于各种不同类型的介质上,如 Windows脑、web用等。
在 Windows统中,Treeview被用来作为用户界面的一部分,用户可以在 Treeview 中浏览不同的文件夹,管理文件;在 web用中,Treeview以用来显示和编辑目录结构,构建菜单;在自定义的软件中,Treeview以用来显示应用程序的层次结构,不同的节点可以指向不同的操作。
Treeview实现方式也有很多种。
在 Windows统中,Treeview以通过 Windows API实现,也可以使用可视化控件,如 WPF TreeView 件;对于 web用,可以使用 HTML、CSS JavaScript实现 Treeview,也可以使用 jQuery、Angular者其他基于 JavaScript技术来实现;对于软件程序,可以使用 C #、Java、Python语言来实现 Treeview。
无论是 Windows统、web用还是软件程序,Treeview是一种重要的 UI素,它可以帮助用户更加轻松和高效地浏览和操作信息。
无论你要构造什么样的 Treeview,记住要在设计时考虑到它的易用性,可以丰富 Treeview功能,提升它的用户体验。
22树形列表控件(Treeview)树形列表控件(Treeviw)实现了一种层次化的结构数据,用户可以用鼠标打开或者隐藏相应数据或者节点。
Treeview是没有根节点的,每一层都可以有很多的节点。
经典的使用场景有:(1)表格类似于其他语言的Grid控件,或者Excel表格。
可以行列的形式展示数据。
(2)目录列表实现文件目录的管理,可以展开或者折叠显示目录以及文件。
Treeview有关的概念:(1)item在Treeview中显示的每一个内容,都被定义为item,和Excel中cell的概念类似。
每一个item 可以有一个文字的内容或者图片内容,这些内容是最终展现在控件中的。
(2)iid每一个item都有唯一的一个字符串标识iid。
可以用户自己定义,也可以使用系统设定的值。
需要注意的是,iid必须是唯一的,不可重复的。
(3)childchild其实也是item,不过它的含义是指定item的子项。
比如item是一个目录,那么它的下面的文件以及子目录就是此item的child。
通常在遍历整个Treeview控件的时候,child会被用到。
(4)parentparent与child类似,不过是指定item的父控件。
相当于父目录。
(5)ancestorancestor是指定item的从第一层节点到它的父节点的集合,也就是它的所有的上层节点的集合。
(6)visible指定的item是否可见。
比如在表格中,有些行或者列会被隐藏。
不过第一层节点总是可见的。
(7)descendant与ancestor类似,不过是指定item的从子节点一直到最后一层节点的集合。
(8)tagitem还可以有别名。
不同的item可以有相同的别名。
这样好处是可以给同样属性的item一起赋值。
比如,目录名称用斜体表示,而文件名称用正常的字体显示。
只有给所有的代表目录的item的tag赋值为’directory’,而代表文件的item的tag赋值为’file’,就可以很分别的实现上面的功能,而不需要为每一个item进行单独的赋值。
TreeView详细⽤法Treeview⽤于显⽰按照树形结构进⾏组织的数据。
Treeview控件中⼀个树形图由节点(TreeNode)和连接线组成。
TtreeNode是TTreeview的基本组成单元。
⼀个树的节点⼜包含⽂本(Text)和数据(Data)。
Text为String类,Data则为⽆定形指针(Untyped Pointer),可以指向⼀个与节点相联系的数据结构。
每⼀个节点下⼦节点形成这⼀节点的Items属性,当前节点有⼀个唯⼀的Index(TreeNode的Index属性),⽤于说明⼦节点在Items中的位置,每⼀个节点下的⼦节点是顺序编号的,第⼀个是0,第⼆个是1,依次类推。
⽤IndexOf⽅法获得⼦节点的顺序,绝对顺序(AbsoluteIndex)则是指从Treeview第⼀个项开始的顺序值,第⼀个是0,如此推下去。
Item属性则根据Index的值返回当前节点的第Index个⼦节点。
Count则表明属于此项的所有⼦节点的数量。
⽤MoveTo⽅法将Item由⼀个位置移到另⼀个位置。
Expanded属性表明是否所有的⼦项都全部展开(包括⼦项的⼦项),为True表⽰全部展开。
IsVisible属性表明⼀个项是否在树中能被看到,如果树全部展开那么这个Item是肯定可以被看到。
HasChildren属性表明⼀个项是否有⼦项。
GetFirstChild, GetLastChild, GetPrevChild,and GetNextChild分别返回当前项⼦项的第⼀个、最后⼀个和前⼀个、后⼀个项。
GetNextSibling and GetPrevSibling则返回在同⼀Level下的下⼀个和上⼀个项。
GetNextVisible and GetPrevVisible则返回能看得到的下⼀个和上⼀个项。
如果⼀个节点有Parent,则HasAsParent⽅法返回True. Parent为当前项的⽗项。
TreeView控件的应用开发
作者:李鹏
来源:《艺术科技》2012年第03期
摘要:基于VS2008中Windows窗体应用程序中TreeView控件,并结合ListViewr控件和SplitContainer容器控件的使用,建立TreeView树形结构视图为主体的资源管理器,带给用户一个清晰简明的界面,提高了人机交互的友好性。
关键词:TreeView控件;应用;开发
TreeView是以树形列表显示数据的控件,能分层展开和收缩各节点子目录。
TreeView控件的应用非常广泛,几乎所有的应用程序中都会存在。
本文主要是基于VS2008中Windows窗体应用程序中TreeView控件,并结合ListViewr控件和SplitContainer容器控件的使用,建立TreeView树形结构视图为主体的资源管理器,它带给用户一个清晰简明的界面,提高了人机交互的友好性。
1 项目创建与窗体的排版
运行VS2008,创建一个VB的Windows窗体应用程序,在Windows窗体上,拖入SplitContainer容器控件,该控件分为左右两个区域,每个区域可放置一个其他控件。
在左边区域里拖入TreeView控件,在其属性窗口里把DOCK属性改为Fill。
在右边区域拖入一个ListView控件,在基属性窗口里把DOCK属性改为Fill,Columns集合编辑器里添加3个成员(ColumnHeader),分别将其名称改为:名称、大小、类型、修改时间。
2 TreeView控件的树形视图实现
2.1 在窗体代码类里上方,引用Imports System.IO命名空间,引用的目的是为了简写窗体类中关于驱动器、文件夹和文件的代码。
2.2 在窗体加载事件中建立一个节点“我的电脑”,并利用节点node的Tag属性来存放文件的完整地址,便于后面查询。
遍历所有驱动器,并将驱动器的名称添加到TreeView中,形成一个驱动器的树形结构图。
Dim mynode As New TreeNode
mynode = TreeView1.Nodes.Add("我的电脑")
mynode.Tag = "mycomputer"
Dim drives As DriveInfo()= DriveInfo.GetDrives
Dim submynode As New TreeNode
For Each drive As DriveInfo In drives
submynode = mynode.Nodes.Add()
submynode.Tag =
CreateTree(submynode,submynode.Tag.ToString)
Next
2.3 建立一个子程序来添加驱动器下的各个文件夹在TreeView上的节点。
Private Sub CreateTree(ByVal mynode As TreeNode,ByVal path As String)
Dim dir As DirectoryInfo = New DirectoryInfo(path)
Dim submynode As New TreeNode
If .Substring(1,2)= ":\" Or dir.Attributes = FileAttributes.Directory Then Try
For Each subdir As DirectoryInfo In dir.GetDirectories
If subdir.Attributes = FileAttributes.Directory Then
Try
submynode = mynode.Nodes.Add()
submynode.Tag = subdir.FullName
CreateTree(submynode,submynode.Tag.ToString)
Catch ex As Exception
End Try
End If
Next
Catch ex As Exception
End Try
End If
End Sub
3 建立一个子程序用于在点击TreeView节点时,在ListView中显现该节点对应文件夹下的子文件夹和文件
Private Sub FilterListView(ByVal mynode As TreeNode)
ListView1.Items.Clear()''清空ListView
If mynode.Tag.ToString = "mycomputer" Then Return
Dim dir As DirectoryInfo = New DirectoryInfo(mynode.Tag.ToString)
If .Substring(1,2)= ":\" Or dir.Attributes = FileAttributes.Directory Then
Try
Dim item As ListViewItem = Nothing
Dim subitem As ListViewItem.ListViewSubItem()= Nothing
For Each subdir As DirectoryInfo In dir.GetDirectories
…定义显现节点对应文件夹下的子文件
If subdir.Attributes = FileAttributes.Directory Then
Try
item = New ListViewItem(,0)
subitem = New ListViewItem.ListViewSubItem()_
{New ListViewItem.ListViewSubItem(item,"文件夹"),_
New ListViewItem.ListViewSubItem(item,stWriteTime.ToString)}
item.SubItems.AddRange(subitem)
ListView1.Items.Add(item)
Catch ex As Exception
End Try
End If
Next
For Each subdir As DirectoryInfo In dir.GetDirectories
…定义显现节点对应文件夹下的文件(同上)
…
End Sub
4 建立TreeView的NodeMouseClick事件,在该事件中处理图标状态
Private Sub TreeView1_NodeMouseClick(ByVal sender As Object,ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs)Handles TreeView1.NodeMouseClick
Dim mynode As TreeNode = e.Node
If mynode.IsExpanded = False Then
mynode.SelectedImageIndex = 0
Else
mynode.SelectedImageIndex = 1
End If
FilterListView(e.Node)
End Sub
5 测试效果如下
参考文献:
[1] Microsoft公司的MSND Online.
[2] Windows 程序设计(第5版).方敏,张胜,赵勇,等译.北京:清华大学出版社,2010. [3]卢镇波,李清.Visual 实用编程百例[M].北京:清华大学出版社,2005.。