Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to: Search files from a certain directory with Progressbar + Backgroundworker
Hello Everyone, Admin. I'm new to this Forum and i want to ask how to search files from a certain directory with progressbar & background worker? 

Code: (from the Admin-(Brandonio)) :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


    End Sub

    Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork

        Dim directory = "Path"
        Dim files() As System.IO.FileInfo
        Dim dirinfo As New System.IO.DirectoryInfo(directory)
        files = dirinfo.GetFiles("*", IO.SearchOption.AllDirectories)
        For Each file In files

    End Sub

But whenever i click the button, i get an error saying : Cross-thread operation not valid: Control 'ListBox1' accessed from a thread other than the thread it was created on.
I'm new in VB.NET and i'm making an application that cleans up the Temporary folder.
Thank you. and uh, i like this forum.
Hello ryanshane91 and welcome to BP Forums!

In most programming environments, VB.NET included, there is a main user-interface thread which is the only thread that is allowed to access user interface components. In VB.NET, a BackgroundWorker works on a thread separate than the user-interface thread and thus is not allowed to access user interface components.

There are thus two ways to solve your problem:
1. Tell VB.NET to ignore this restriction and allow non user-interface threads to access the user-interface (
System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;

2. The `BackgroundWorker` has an event to report progress. You can then handle this report on the UI thread. You can do this by:
2a. Setting BackgroundWorker1.WorkerReportsProgress = True
2b. In `BackgroundWorker1_DoWork`, do something like `BackgroundWorker1.ReportProgress(file)`
2c. A new sub which handles the reported progress to add the file to the listbox.

I hope this helps!
My Blog | My Setup | My Videos | Have a wonderful day.

Possibly Related Threads...
Thread Author Replies Views Last Post
  Read all lines from multiple text files. strawman83 2 3,948 06-04-2015, 08:54 AM
Last Post: strawman83

Forum Jump:

Users browsing this thread: 1 Guest(s)