文档详情

VB中treeview控件的使用方法.doc

发布:2018-12-28约5.38千字共6页下载文档
文本预览下载声明
VB中treeview控件的使用方法 利用treeview控件可以获得驱动器下的所有目录和子目录,TreeView 控件最典型的使用就是Windows资源管理中显示文件夹列表的左边栏,现在我们就模仿它来做一个按树状结构显示指定盘符中所有文件夹的小程序。 一、准备知识: 1、了解 TreeView 控件的基本使用,掌握了如何添加树状结构的数据到TreeView 控件中,相关文章参看这里:入门——TreeView 控件的使用 2、了解 ImageList 控件的基本使用。 3、了解 System.IO 命名空间中的Directory 类的一些常用用法,下面我们先了解下本文要用到Directory类的成员GetDirectories:它用于获取指定目录中子目录的名称。如下代码所示,获取C:盘下的子目录: Dim dirs As String() = Directory.GetDirectories(c:\) 其结果是我们点开C盘后看到的文件夹,如果要获取更深层次的文件夹列表,就要一个一个文件夹循环使用Directory.GetDirectories方法。 二、窗体布局 在窗体上拖放一个TreeView 控件,一个Button 按钮,一个ImageList 组件 在ImageList 组件中按顺序添加如下三个图标,图标大小设置为16*16: 图一:需要用到的图标 三:编写代码 首先,我们已经知道,要想获得树状结构的每个层次中的子文件夹,我们必须使用递归过程来完成,下面所示代码所执行的工作是:先把一个已经路径的文件夹添加到树状结构中,然后再遍历它的子文件夹: 添加文件夹 Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode) Dim i As Integer Dim node As New TreeNode 先添加本目录,从文件夹路径分析出文件夹名称 node.Text = Strings.Replace(strPath, strFatherPath \, , , 1) 为单个节点指定节点未被选中时显示的图标 node.ImageIndex = 1 为单个节点指定节点被选中时显示的图标 node.SelectedImageIndex = 2 nodeFather.Nodes.Add(node) Application.DoEvents() Try Dim str() As String = iDir.GetDirectories(strPath) 遍历该目录的子文件夹 For i = 0 To str.GetUpperBound(0) AddDirectory(strPath, str(i), node) Next Catch ex As Exception Debug.WriteLine(ex.Message) End Try node = Nothing End Sub 然后在按钮的Click事件中添加代码,用于添加树状结构的顶层以及调用遍历子文件的递归过程,详细代码如下: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim node As New TreeNode 先把C盘添加到树中 TreeView1.Nodes.Clear() node.ImageIndex = 0 node.Text = 本地磁盘 C: node.SelectedImageIndex = -1 TreeView1.Nodes.Add(node) Dim i As Integer 获取C:盘根目录下的文件夹 Dim str() As String = iDir.GetDirectories(C:\) For i = 0 To str.GetUpperBound(0) 调用遍历过程 AddDirectory(C:, str(i), node) Next node = Nothing End Sub ***************************************** 1、为树状浏览器控件添加节点和子节点   用ADD方法添加一个新节点到树状浏览器的NODES集合时,可以声明它是和已存在的节点所联系起来的。通常使用ADD方法,其语法如下:    Nodes.Add(relative,[relationship][,key][,text][,image][,selectedimage])   各个参数的意义如下:
显示全部
相似文档