Vb.NET 注册表 新建目录树Dim Reg As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser 'HKEY_CURRENT_USER
Reg.OpenSubKey("\1\2\3\4\5\6\7", True) '在HKEY_CURRENT_USER下新建1\2\3\4\5\6\7的项
希望能对你有所启发和帮助 。
vb.net 磁盘文件列表,界面如图,在.net下如何实现?预先准备三个图标文件,用于树型控件中显示磁盘符号和文件夹的图像之用 。
1、窗体上添加控件如下:
组合框控件 ComboBox1 , 树型控件 TreeView1,列表框控件 ListBox1,图像列表控件 ImageList1 。
选中TreeView1,设置其ImageList属性为ImageList1 。
2、设置属性
选中图像列表控件 ImageList1,在属性窗口里,选中属性Images,单击三个小点按钮,出现图像集合编辑器窗口,单击[添加按钮],一一把准备好的图标文件进行添加 , 注意先后次序 , 如果不符合要求可以通过上下移动按钮重新改变次序 。完成后单击[确定] 。
运行图如下:
完整代码如下:
Imports System.IO
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'添加系统所有磁盘目录符号
For Each MyDrive As String In Environment.GetLogicalDrives()
ComboBox1.Items.Add(MyDrive)
Next
'显示第一个磁盘符号
ComboBox1.Text = ComboBox1.Items(0)
End Sub
'递归过程添加目录树
Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)
Dim i As Integer
Dim Mynode As New TreeNode
'先添加本目录
Mynode.Text = Strings.Replace(strPath, strFatherPath"\", "", , 1)
'为节点指定未被选中时显示的图标
Mynode.ImageIndex = 1
'为节点指定被选中时显示的图标
Mynode.SelectedImageIndex = 2
nodeFather.Nodes.Add(Mynode)
Application.DoEvents()
Try
Dim str() As String = Directory.GetDirectories(strPath)
'递归遍历该目录的子文件夹
For i = 0 To str.GetUpperBound(0)
AddDirectory(strPath, str(i), Mynode)
Next
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
Mynode = Nothing
End Sub
'根据给出的盘符添加目录树
Private Sub AddRootDirectory(ByVal DiscSymbol As String)
Dim Nynode As New TreeNode
'先把磁盘盘符添加到树中
TreeView1.Nodes.Clear()
Nynode.ImageIndex = 0
Nynode.Text = DiscSymbol
Nynode.SelectedImageIndex = -1
TreeView1.Nodes.Add(Nynode)
Dim i As Integer
'获取磁盘根目录下的文件夹
Dim str() As String = Directory.GetDirectories(DiscSymbol"\")
For i = 0 To str.GetUpperBound(0)
'调用递归过程遍历该文件夹里的所有子文件夹,并添加到树型控件
AddDirectory(DiscSymbol, str(i), Nynode)
Next
Nynode = Nothing
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
'根据磁盘符号的变更,显示根目录里的文件
ListBox1.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(ComboBox1.Text)
ListBox1.Items.Add(MyFile)
Next
'根据磁盘符号的变更,重新显示目录树
Dim DiscSymbol As String
DiscSymbol = Microsoft.VisualBasic.Left(ComboBox1.Text, Len(ComboBox1.Text) - 1)
Call AddRootDirectory(DiscSymbol)
End Sub
'递归过程根据子目录寻找上级目录名--从而构成完整的目录路径
Private Sub AllPath(ByVal ThisNode As TreeNode, ByRef MyPathName As String)
If ThisNode.Level1 Then
'该节点层数大于1,其父节点不是磁盘根目录
MyPathName = ThisNode.Parent.Text"\"MyPathName
推荐阅读
- 少年沉迷网络游戏,每年有多少青少年沉迷网络游戏
- 关于python导入数据excel数据库的信息
- java代码模拟数独游戏,java开发数独游戏
- 天翼云手机ios,天翼云手机卡号是什么
- 统计命令linux Stata描述性统计命令
- php无法使用postgresql的简单介绍
- oracle优化表的查询,oracle数据库查询优化方法
- 直播伴侣ios系统,直播伴侣下载了怎么不能用
- c语言先定义函数的汉诺塔 先定义函数求,然后在主程序中