资源描述:
《vb中treeview控件的使用方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VB中treeview控件的使用方法利用treeview控件可以获得驱动器下的所有目录和子目录,TreeView控件最典型的使用就是Windows资源管理中显示文件夹列表的左边栏,现在我们就模仿它来做一个按树状结构显示指定盘符中所有文件夹的小程序。一、准备知识:1、了解TreeView控件的基本使用,掌握了如何添加树状结构的数据到TreeView控件中,相关文章参看这里:vb.net入门——TreeView控件的使用2、了解ImageList控件的基本使用。3、了解vb.netSystem.IO
2、命名空间中的Directory类的一些常用用法,下面我们先了解下本文要用到Directory类的成员GetDirectories:它用于获取指定目录中子目录的名称。如下代码所示,获取C:盘下的子目录:DimdirsAsString()=Directory.GetDirectories("c:")其结果是我们点开C盘后看到的文件夹,如果要获取更深层次的文件夹列表,就要一个一个文件夹循环使用Directory.GetDirectories方法。二、窗体布局在窗体上拖放一个TreeView控件,一个
3、Button按钮,一个ImageList组件在ImageList组件中按顺序添加如下三个图标,图标大小设置为16*16:图一:需要用到的图标三:编写代码首先,我们已经知道,要想获得树状结构的每个层次中的子文件夹,我们必须使用递归过程来完成,下面所示代码所执行的工作是:先把一个已经路径的文件夹添加到树状结构中,然后再遍历它的子文件夹:'添加文件夹PublicSubAddDirectory(ByValstrFatherPathAsString,ByValstrPathAsString,ByValno
4、deFatherAsTreeNode)DimiAsIntegerDimnodeAsNewTreeNode'先添加本目录,从文件夹路径分析出文件夹名称node.Text=Strings.Replace(strPath,strFatherPath&"","",,1)'为单个节点指定节点未被选中时显示的图标node.ImageIndex=1'为单个节点指定节点被选中时显示的图标node.SelectedImageIndex=2nodeFather.Nodes.Add(node)Application
5、.DoEvents()TryDimstr()AsString=iDir.GetDirectories(strPath)'遍历该目录的子文件夹Fori=0Tostr.GetUpperBound(0)AddDirectory(strPath,str(i),node)NextCatchexAsExceptionDebug.WriteLine(ex.Message)EndTrynode=NothingEndSub然后在按钮的Click事件中添加代码,用于添加树状结构的顶层以及调用遍历子文件的递归过程,详
6、细代码如下:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimnodeAsNewTreeNode'先把C盘添加到树中TreeView1.Nodes.Clear()node.ImageIndex=0node.Text="本地磁盘C:"node.SelectedImageIndex=-1TreeView1.Nodes.Add(node)DimiAsInt
7、eger'获取C:盘根目录下的文件夹Dimstr()AsString=iDir.GetDirectories("C:")Fori=0Tostr.GetUpperBound(0)'调用遍历过程AddDirectory("C:",str(i),node)Nextnode=NothingEndSub*****************************************1、为树状浏览器控件添加节点和子节点 用ADD方法添加一个新节点到树状浏览器的NODES集合时,可以声明它是和已存在的节
8、点所联系起来的。通常使用ADD方法,其语法如下: Nodes.Add(relative,[relationship][,key][,text][,image][,selectedimage]) 各个参数的意义如下: relationship参数是通过关系节点参数与新节点连接的另一个节点; relationship参数可能是以下情况: tvwlast--1;该节点置于所有其他的在relative中被命名的同一级别的节点的后面 tvwNext--2;该节点置于在rela