如何在VB.Net win form应用程序中使用进度条

时间:2011-06-06 16:34:17

标签: .net vb.net

我想使用streamreader和writer类将文件从一个目录传输到另一个目录。现在我想添加一个状态栏来显示状态栏上的文件名以及剩余的百分比。当文件移动到新目录时,它将达到100。有什么建议吗?

  Dim ioFile As New System.IO.StreamReader("C:\sample.csv")
  Dim ioLine As String
  Dim ioLines As String
  ioLine = ioFile.ReadLine
 ioLines = ioLine
 While Not ioLine = ""
     ioLine = ioFile.ReadLine
     ioLines = ioLines & vbCrLf & ioLine
  End While
 Dim ioWriter As New System.IO.StreamWriter("C:\new.csv")
 ioWriter.WriteLine(ioLines)
 ioFile.Close()
 ioWriter.Close() 

2 个答案:

答案 0 :(得分:1)

试试这个

    ' Copy the file to a new folder, overwriting existing file.
    My.Computer.FileSystem.CopyFile( _
    "C:\UserFiles\TestFiles\testFile.txt", _
    "C:\UserFiles\TestFiles2\testFile.txt", _
    FileIO.UIOption.AllDialogs, _
    FileIO.UICancelOption.DoNothing)
  

My.Computer.FileSystem.CopyFile   方法允许您复制文件。它的   参数提供了能力   覆盖现有文件,重命名   文件,显示进度   操作,并允许用户   取消操作

答案 1 :(得分:1)

Saif Kahn是对的,如果您只是复制文件,那么只需复制一个文件。但是要回答你的问题,这里有一个进度条:

Dim tmpLines() as String = File.ReadAllLines("c:\sample.csv")
ProgressBar1.Maximum = tmpLines.Count - 1
ProgressBar1.Value = 0
For tmpRun As Integer = 0 To tmpLines.Count - 1
  ProgressBar1.Value += 1

  'Copy Stuff
Next