思路:
創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)定制網(wǎng)站設(shè)計(jì),是成都網(wǎng)站建設(shè)公司,為成都塑料袋提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開發(fā)等。成都網(wǎng)站維護(hù)熱線:18982081108
1,使用ListBox1控件來存放搜索到的文件名,然后ListBox1.SelectedItem就可以返回選中項(xiàng)的文本;
2,利用獲得的選中項(xiàng)文本(即文件與路徑),使用打開文本文件的方法,讀取內(nèi)容顯示在文本框里。
1、要使用進(jìn)度條,可用遞歸的方法取得文件夾內(nèi)的文件數(shù)。
2、在循環(huán)里使用DoEvent語句。
窗體上添加一個(gè)文本框,一個(gè)列表框,一個(gè)按鈕:
代碼如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyDir As String = "C:\123"
Dim MyFilter As String = "*" TextBox1.Text "*"
ListBox1.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(MyDir, MyFilter)
ListBox1.Items.Add(MyFile)
Next
End Sub
步驟如下:
窗體上添加2個(gè)列表框,一個(gè)按鈕:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyDir As String = "C:\123"
'搜索并顯示子文件夾
ListBox1.Items.Clear()
For Each MySubDir As String In System.IO.Directory.GetDirectories(MyDir)
ListBox1.Items.Add(MySubDir)
Next
'搜索并顯示文件
ListBox2.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(MyDir)
ListBox2.Items.Add(MyFile)
Next
End Sub
End Class
vb.net編程查找搜索指定目錄下面的所有文件和其子目錄下的文件,方法如下:
''=============================================
''名稱:?FindPath
''作用:?查找搜索指定目錄下面的所有文件和其子目錄下的文件
''參數(shù):strPath?要查找的目錄,
''strFiles?用于存查找結(jié)果的緩沖區(qū),String?類型的動(dòng)態(tài)數(shù)組,調(diào)用時(shí)事先初始化,?如Redim?strFiles(0)
''FileCount?用于返回文件個(gè)數(shù)
''=============================================
Public?Sub?FindPath(ByVal?strPath?As?String,?strFiles()?As?String,?FileCount?As?Long)
Dim?strDirs()???As?String
Dim?strResult???As?String
Dim?FileLimit???As?Long
Dim?dirLimit????As?Long
Dim?dirCount????As?Long
Dim?I???????????As?Long
FileLimit?=?UBound(strFiles)?+?1
dirLimit?=?0
If?Right$(strPath,?1)??"/"?Then?strPath?=?strPath??"/"
strResult?=?Dir(strPath,?vbDirectory?+?vbSystem?+?vbReadOnly?+?vbHidden?+?vbNormal?+?vbArchive)
Do?While?Len(strResult)??0
If?strResult??"."?And?strResult??".."?Then
If?(GetAttr(strPath??strResult)?And?vbDirectory)??vbDirectory?Then
If?FileCount?=?FileLimit?Then
ReDim?Preserve?strFiles(FileLimit?+?10)
FileLimit?=?FileLimit?+?10
End?If
strFiles(FileCount)?=?strPath??strResult
FileCount?=?FileCount?+?1
Else
If?dirCount?=?dirLimit?Then
ReDim?Preserve?strDirs(dirLimit?+?10)
dirLimit?=?dirLimit?+?10
End?If
strDirs(dirCount)?=?strPath??strResult
dirCount?=?dirCount?+?1
End?If
End?If
strResult?=?Dir(,?vbDirectory?+?vbSystem?+?vbReadOnly?+?vbHidden?+?vbNormal?+?vbArchive)
Loop
For?I?=?0?To?dirCount?-?1
Call?FindPath(strDirs(I),?strFiles,?FileCount)
Next?I
End?Sub