Jedi
Jedi

Reputation: 153

Math.Round with progressbar

I use this code to list files from directory :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        rslts = New List(Of String)
        foo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))
        ListBox1.Items.Clear()
        ListBox1.Items.AddRange(rslts.ToArray)
    End Sub

    Dim rslts As List(Of String)

    Private Sub foo(ByVal aDir As String)
        Try

            Dim di As New IO.DirectoryInfo(aDir)
            Dim aryFiles() As IO.FileInfo = di.GetFiles("*.*")
            Dim aryDirs() As IO.DirectoryInfo = di.GetDirectories()

            For Each fi As IO.FileInfo In aryFiles
                rslts.Add(fi.FullName)
            Next

            For Each d As IO.DirectoryInfo In aryDirs
                foo(d.FullName)
            Next

        Catch ex As Exception

        End Try

    End Sub

I wan't to use Math.Round() with this so I can add increment to progressbar while loading files.I know I need to use timer,but I am not familiar with Math.Round()

So basically,I wan't real progressbar while loading files into listbox.

Upvotes: 0

Views: 213

Answers (1)

user2480047
user2480047

Reputation:

You don't need to perform the increment calculations, ProgressBar takes care of everything. How to use it (ProgressBar1) with your code:

Private Sub foo(ByVal aDir As String)

    Try
        Dim di As New IO.DirectoryInfo(aDir)
        Dim aryFiles() As IO.FileInfo = di.GetFiles("*.*")
        Dim aryDirs() As IO.DirectoryInfo = di.GetDirectories()

        With ProgressBar1
            .Minimum = 0
            .Maximum = aryFiles.Count + aryDirs.Count
            .Value = 0
            .Step = 1
        End With

        For Each fi As IO.FileInfo In aryFiles
            rslts.Add(fi.FullName)
            ProgressBar1.PerformStep()
        Next

        For Each d As IO.DirectoryInfo In aryDirs
            foo(d.FullName)
            ProgressBar1.PerformStep()
        Next

    Catch ex As Exception

    End Try

End Sub

Upvotes: 1

Related Questions