999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TreeView控件的應用開發

2012-01-01 00:00:00李鵬
藝術科技 2012年3期

摘 要:基于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(drive.Name)

submynode.Tag = drive.Name

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 dir.Name.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(subdir.Name)

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 dir.Name.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(subdir.Name,0)

subitem = New ListViewItem.ListViewSubItem()_

{New ListViewItem.ListViewSubItem(item,\"文件夾\"),_

New ListViewItem.ListViewSubItem(item,subdir.LastWriteTime.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 Basic.net 實用編程百例[M].北京:清華大學出版社,2005.

[4] Thearon Willis,Bryan Newsome.Visual Basic 2010入門經典(第6版)[M].吳偉敏,李周芳,譯.北京:清華大學出版

主站蜘蛛池模板: 国产精品无码作爱| 国产日韩AV高潮在线| 日本91在线| 网久久综合| 日韩毛片免费视频| 日韩视频免费| 激情六月丁香婷婷| 国产精品短篇二区| 91福利在线看| 色悠久久综合| 国产精品久久久久久久久久久久| 亚洲国产精品无码久久一线| 精品无码日韩国产不卡av| 午夜福利在线观看入口| 国产日本欧美亚洲精品视| 幺女国产一级毛片| 久久精品娱乐亚洲领先| 在线观看精品国产入口| 成人日韩欧美| 99热国产这里只有精品无卡顿"| 农村乱人伦一区二区| 国产成人做受免费视频| a色毛片免费视频| 亚洲一区二区三区麻豆| 国产精品30p| 亚洲欧美日韩视频一区| 国产女人水多毛片18| 亚洲床戏一区| 欧美成人国产| 日韩欧美在线观看| 国产一级裸网站| 久久精品一品道久久精品| 91免费观看视频| 国产精品浪潮Av| 蜜桃臀无码内射一区二区三区| 国内精品91| 综合色亚洲| 97精品久久久大香线焦| 成人一区在线| 怡红院美国分院一区二区| 亚洲欧美成人影院| 欧美黄网站免费观看| 国产乱子伦无码精品小说| 久久精品免费国产大片| 亚洲综合九九| 2020亚洲精品无码| 久久精品最新免费国产成人| 国产9191精品免费观看| 亚洲精品va| 国产网友愉拍精品视频| 无码福利视频| 国产午夜看片| www.91在线播放| 毛片免费视频| 欧美激情网址| 亚洲欧洲日本在线| 国产在线91在线电影| 精品无码专区亚洲| 久久精品亚洲热综合一区二区| 成人一级黄色毛片| 尤物亚洲最大AV无码网站| 亚洲天堂区| 综合网久久| 五月丁香伊人啪啪手机免费观看| 亚洲精品第一页不卡| 国产精品999在线| 欧美不卡在线视频| 精品人妻系列无码专区久久| 日韩欧美中文字幕在线韩免费| 午夜性刺激在线观看免费| 日本草草视频在线观看| 精品无码视频在线观看| 亚洲一道AV无码午夜福利| 91精品网站| 欧美综合在线观看| 真人免费一级毛片一区二区| 亚洲无限乱码| 99久久性生片| 在线精品欧美日韩| 午夜精品影院| 欧美色图久久| 一级香蕉视频在线观看|