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视频免费观看| 久久永久精品免费视频| 乱码国产乱码精品精在线播放| 亚洲欧美日韩成人高清在线一区| 4虎影视国产在线观看精品| 国产美女无遮挡免费视频| 极品国产一区二区三区| 国产真实乱子伦视频播放| 亚洲无线国产观看| 久久精品女人天堂aaa| 国产精品私拍在线爆乳| 丁香六月综合网| AV老司机AV天堂| 亚洲无线国产观看| 国产精品一区二区无码免费看片| 国产精品久久久久久久久| 国产人前露出系列视频| 亚洲精选无码久久久| 国产欧美日韩视频怡春院| 国产午夜一级淫片| 久久久久久高潮白浆| 日韩免费毛片| 在线观看的黄网| 久久黄色免费电影| 日韩a级毛片| 99精品视频九九精品| 国产一区二区精品福利| 玖玖精品在线| 中文字幕啪啪| 国产乱视频网站| 国产一级妓女av网站| 999国产精品永久免费视频精品久久| 国模粉嫩小泬视频在线观看| 国产人妖视频一区在线观看| 欧美日韩va| 亚洲av无码牛牛影视在线二区| 日本免费一级视频| 国产一级视频在线观看网站| 婷婷成人综合| 国产91精品最新在线播放| 亚洲AV无码久久天堂| 国产免费自拍视频| 六月婷婷激情综合| 99精品视频在线观看免费播放| 99国产精品国产高清一区二区| 日本三级黄在线观看| 国产精品私拍99pans大尺度| 欧美啪啪一区| 伊人久久大香线蕉影院| 在线无码av一区二区三区| 九色最新网址| 9久久伊人精品综合| 男人的天堂久久精品激情| 日韩东京热无码人妻| 超级碰免费视频91| 欧美日韩成人在线观看 | 国产一区二区网站| 欧美成人精品在线| 亚洲精品高清视频| 亚洲欧美成人影院| 在线欧美日韩| 亚洲欧美自拍中文| 四虎成人在线视频| 国产97视频在线| 欧美激情视频一区| 欧美国产日韩一区二区三区精品影视| 久久综合丝袜长腿丝袜| 动漫精品啪啪一区二区三区| 欧美福利在线观看| 亚洲天堂在线免费| 国产99热| 激情综合婷婷丁香五月尤物| 国产欧美日韩专区发布| 国产不卡在线看| www.99在线观看|